Session dan Cookie pada PHP

session & Cookie pada pemrograman PHP

SESSION

A. Apa itu Session?

SESSION adalah sebuah mekanisme penyimpanan informasi kedalam suatu variabel agar bisa digunakan dilebih dari satu halaman. mekanisme penyimpanan dengan session ini akan disimpan disisi server penyimpanannya. 

Contoh penggunaan.

kita membuka halaman instagram atau facebook, kemudian login dan sukses ke halaman beranda facebook atau instagram kita. foto dan nama facebook kita akan muncul dipojok kanan atas.selanjutnya kita akan mengklik halaman selanjutnya, misal status milik orang lain. ketika kita mengunjungi halaman lain tersebut kita tidak harus login lagi karena sudah ada session yang mengenalinya.

B. Cara membuat SESSION diPHP.

untuk membuat session di php yaitu dengan cara 

  1. Deklarasi awal kalau kita menggunakan session, yaitu menggunakan fungsi session_start()
  2. Set suatu nilai ke variabel $_SESSION

C. Cara Menghapus session yang telah diset

untuk menghapus session yang telah di set kita gunakan perintah dibawah ini
  1. session_unset()
  2. session_destroy()

D. Contoh Membuat Session

Buatlah halaman pertama dengan nama "pertama.php" kemudian isikan koding dibawah ini.

    
    <?php
    // Start the session
    session_start();
    ?>
    <!DOCTYPE html>
    <html>
    <body>

    <?php
    // Set session divariable
    $_SESSION["color"] = "hijau";
    $_SESSION["animal"] = "kucing";
    echo "Variabel session telah di set";
    ?>
    <a hreff="ceksession.php">menuju link ke 2 </a>

    </body>
    </html>


Keterangan:
  • pada halaman ini kita akan coba menset suatu session kedalamsebuah varabel session.
  • session akan dimulai ketika kita sudah mengetikan fungsi session_start()
  • untuk membuat variabel session caranya yaitu sepeti ini $_SESSION["nama variabel sessionnya"] 
untuk menampilkan isi dari variabel sessionya buatlah halaman ke 2 dengan nama "ceksession.php"
    
    <?php
    session_start();
    ?>
    <!DOCTYPE html>
    <html>
    <body>

    <?php
    // tampilkan variabel session yang sudah di set di halaman sebelumnya (pertama.php)
    echo "warna favorit adalah " . $_SESSION["color"] . ".<br>";
    echo "binatang favorit adalah " . $_SESSION["animal"] . ".";
    ?>
    <a hreff="hapus-variabel-session.php">menuju link ke 3 </a>
    </body>
    </html>


Jika hasil diatas dijalankan di brouser maka yang akan muncul
  • warna favorit adalah hijau
  • binatang favorit adalah kucing
kemudian untuk menghapus variabel session maka buatlah halaman selanjutnya dengan nama "hapus-variabel-session.php"
    
    <?php
    session_start();
    ?>
    <!DOCTYPE html>
    <html>
    <body>

    <?php
    // hapus semua session variables
    session_unset();

    // matikan session
    session_destroy();
    ?>

    </body>
    </html>



COOKIE

A. Apa itu Cookie?

Pada dasarnya cookie konsepnya sama seperti session  cuma perbedaannya cookie disimpan disisi brouser sedangkan session di server. cookie merupakan sekumpulan informasi yang berisi rekam jejak ketika menulusuri sebuah website. 

B. Kegunaan  cookie di brouser

dengan cookies, website akan dapat menyiman informasi kedalam brouser. lalu fungsi apa saja yang bisa digunakan dengan adanya cookies.

1. Menyimpan informasi login

Dengan adanya cookie, kita dapat menyimpan informasi login kedalam brouser kita. jadi dengan adanya cookie kita tidak perlu lagi menulis username dan password berulangkali untuk mengunjungi website yang sama.

2. Menyimpan Pengaturan website

Dengan cookie kita juga bisa menyimpan pengaturan dari website yang kita kunjungi. misalnya ketika kita mengakses website dengan pilihan bahasa inggris atau bahasa indonesia, kemudian kita memilih pengaturan bahasa indonesia, cookie akan menyimpan pilihan tersebut.
Jika suatu saat kita mengunjungi website tersebut dihari lainnya maka website secara otomatis akan menyediakan konten dengan pilihan bahasa indonesia sesuai dengan pilihan sebelumnya.

3. Menyediakan konten lebih personal.

disuatu situs belana online kita mencari produk pakain dan elektronik. kemudian dihari berikutnya kita masuk ke website online shop tersebut kita akan mendapatkan saran-saran produk yang berkaitan dengan produk pakaian dan elektronik. hal demikian dengan cookie dapat memberikan pengalaman personal bagi kita dalam berbelanja, karena cookie menyimpan semua informasi dan jejak aktivitas kita didalam website

4. Mampilkan iklan

Fungsi cookies yang sering kita lihat yaitu berkaitan dengan iklan yang sesuai dengan aktivitas brousing kita diwebsite. misalnya 1 jam yang lalu kita mengunjungi website online shop untuk mencari TV, kemudian kita mengunjungi web portal berita dan mendapati iklan berkaitan dengan TV


C. Membuat COOKIE di PHP

untuk membuat cookie di php yaitu dengan menggunakan function setcookie(). sintax dasarnya terlihat seperti dibawah ini.
    
    setcookie(name, value, expire, path, domain, secure, httponly);

Keterangan :
  • name : berisi nama dari cookie 
  • value : berisi nilai yang akan disimpan, sesuai nama cookie yang sudah ditulis di argumen pertama.
  • expire : berisi kapan waktu cookie berakhir, format waktu ini dapat berupa Unix Timestamp, sehingga kita dapat menggunakan fungsi time() di php, jika nilai expire dikosongkan atau bernilai 0, maka data cookie akan expire / dihapus ketika browser di tutup (sama seperti konsep session).
  • path :  Berisi Path / Lokasi server dimana cookie dapat digunakan, jika bagian path diisi tanda slash ‘/’, maka cookie dapat diakses diseluruh bagian website.
    1. Bagian path juga dapat diisi direktori tertentu semisal ‘/store/’, maka cookie hanya dapat digunakan direktori store dan subdirektorinya, semisal ‘/store/cart/’
    2. kita juga dapat mengkosongkan nilai dari path, jika dikosongkan maka lokasi akan merujuk ke direktori dimana cookie tersebut dibuat.
  • domain : Domain dapat diisi subdomain yang dapat menggungkan cookie tersebut.
    1. Semisal kita mengisikan ‘darsonoaja.com’, maka cookie dapat digunakan pada subdomain dari ‘darsonoaja.com’ seperti blog.darsonoaja.com, store.warungbelajar.com dll.
    2. Semisal kita mengisikan ‘www.darsonoaja.com’ maka cookie dapat digunakan pada subdomain ‘www.darsonoaja.com’ seperti ‘v2.www.darsonoaja.com’ dll
    3. Jika anda mengkosongkan bagian ini, maka cookie dapat digunakan pada seluruh bagian domain, tetapi tidak dapat digunakan di subdomain.
  • secure  : Secara Default akan bernilai false, jika anda mengganti nilainya menjadi true, maka browser akan mengirimkan cookie ke webserver hanya jika koneksinya https
  • httponly : Secara Default akan bernilai false, Cookie hanya dapat diakses melalui protokol http
dari 7 perintah yang disediakan oleh cookie, biasaya yang digunakan didalam cookie hanya argumen 1-4 saja.  
Contoh berikut membuat cookie bernama "users" dengan nilai "joni". Cookie akan kedaluwarsa setelah 30 hari (86400 * 30). Tanda "/" berarti cookie tersedia di seluruh situs web (jika tidak, pilih direktori yang Anda inginkan).

kita kemudian mengambil nilai cookie "users" (menggunakan variabel global $_COOKIE). Kita juga menggunakan fungsi isset() untuk mengetahui apakah cookie disetel. untuk codingnya dapat dilihat pada contoh dibawah ini.

    
    <?php
    $cookie_name = "user";
    $cookie_value = "Joni";
    setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/"); // 86400 = 1 day
    ?>
    <html>
    <body>

    <?php
    if(!isset($_COOKIE[$cookie_name])) {
    echo "nama Cookie  '" . $cookie_name . "' tidak di set!";
    } else {
    echo "Cookie '" . $cookie_name . "' si set!<br>";
    echo "Value adalah : " . $_COOKIE[$cookie_name];
    }
    ?>

    </body>
    </html>



contoh berikutnya membuat cookie dengan nama "users", dengan nilai "Budi Nurcahya" dengan waktu expire cookie selama 15 hari, dan dapat diakses diseluruh path dari dari direktori tempat menyimpan file php disimpan.

    
    <?php
    $cookie_name = "user";
    $cookie_value = "Budi Nurcahya";
    setcookie($cookie_name, $cookie_value, time() + (60 * 60 * 24 * 5), "/");
    ?>
    <html>
    <body>

    <?php
    if(!isset($_COOKIE[$cookie_name])) {
    echo "nama Cookie  '" . $cookie_name . "' tidak di set!";
    } else {
    echo "Cookie '" . $cookie_name . "' si set!<br>";
    echo "Value adalah : " . $_COOKIE[$cookie_name];
    }
    ?>
    </body>
    </html>


Keterangan Perhitungan Waktu Expire Cookie: 
Perhitungan expire cookie pada baris code 2, (60 * 60 * 24 * 5) :

  • 60 pertama adalah jumlah 60 detik yang artinya 1 menit
  • 60 kedua adalah 60 menit yang artinya 1 jam
  • 24 artinya 1 jam x 24 jadi hasilnya 24 jam atau 1 hari
  • 5 artinya 24 jam x 5 jadi hasilnya 5 hari

D. Menghapus COOKIE pada PHP

untuk menghapus cookie yang telah kita set maka kita cukup mengosongkan nilai cookie pada nama cookie yang ingin dihapus. contohnya terlihat seperti dibawah ini:

    
    <?php
    $cookie_name = "user";
    $cookie_value = ""; // kosongkan isinya
    setcookie($cookie_name, $cookie_value, time() + (60 * 60 * 24 * 5), "/");
    ?>


catatan :
jika kita menseting cookie dengan argumen yang lengkap seperti diatas maka ketika kita ingin menghapus cookie tersebut harus sama lengkap juga.



Kesimpulan COOKIE dengan SESSION

Dari keterangan dan contoh diatas maka kita dapat simpulkan 

Cookie
  • Cookie disimpan di sisi klien, lebih tepatnya di browser dari pengguna aplikasi
  • Penggunaan Cookie tidak aman bagian klien, karena cookie disimpan di sisi klien (browser) sehingga memungkinkan klien (pengguna aplikasi) dapat menghapus mengedit serta melakukan disabled pada cookie.
  • Data yang disimpan di dalam cookie dapat disimpan lebih lama, karena waktu expired dari cookie dapat diatur.
Session
  • Session disimpan disisi server
  • Penyimpan data melalui session lebih aman karena data disimpan di sisi server, tidak seperti cookie yang datanya dimasukkan di sisi klien (browser)
  • Data Session otomatis terhapus ketika web browser klien dimatikan (diclose), selain itu data session tidak dapat diatur waktu expired.


Latihan SESSION 1

Buatlah session untuk menampung data username dan password. isi dari username "nama kalaian" kemudian password diisi bebas. kemudia
Buatlah file dengan nama set_session.php kemudian lengkapi koding dibawah ini
    
    <?php
    1... ;
    $_SESSION["2.."] = "3...";
    $_SESSION["4.."] = "6...";

    ?>
    <a hreff="get_session.php">menuju link ke 2 </a>


Buatlah file untuk menampilkan session dari file get_session.php kemudian lengkapi koding dibawah ini.
    
    <?php
    1...();
    echo "Username = ".$_SESSION['2...'];
    echo "<br/>";
    echo "Password = ".$_SESSION['3...'];
    ?>



Latihan SESSION 2

Buatlah session untuk menampung data nama dan alamat. isi dari nama "nama kalian" kemudian alamat diisi bebas. kemudia
Buatlah file dengan nama set_session2.php kemudian lengkapi koding dibawah ini
    
    <?php
    1... ;
    2.. ["3.."] = "4...";
    5... ["6.."] = "7...";
    <a hreff="get_session.php">menuju link ke 2 </a>
    ?>



Buatlah file untuk menampilkan session dari file get_session.php kemudian lengkapi koding dibawah ini.
    
    <?php
    1...();
    2...
    echo "<br/>";
    3...;
    <a hreff="destroy_session.php">menuju link ke 3 </a>
    ?>



Buatlah file dengan nama destroy_session.php untuk menghapus semua session yang telah di set diawal kemudian lengkapi koding dibawah ini.
    
    <?php
    1...();
    2...();
    3...();
    ?>





Latihan COOKIE 1

membuat cookie bernama "username" dengan nilai "primandi". Cookie akan kedaluwarsa setelah 10 hari (86400 * 30). Tanda "/post" berarti cookie tersedia di halaman dengan url /post 

    
    <?php
    $1.. = "2..";
    $3.. = "4..";
    setcookie(5.., 6.., 7..() + 8.., "9..");
    ?>



Latihan COOKIE 2

membuat cookie bernama "username" dengan nilai "primandi". kemudian tambahkan cookie bernama "alamat" dengan nilai "badak" kemudian Cookie akan kedaluwarsa setelah 10 hari (86400 * 30). Tanda "/post" berarti cookie tersedia di halaman dengan url /post 

    
    <?php
    $1.. = "2..";
    $3.. = "4..";
    $5.. = "6..";
    $7.. = "8..";
    setcookie(9.., 10.., 11..() + 12.., "13..");
    setcookie(14.., 15.., 16..() + 17.., "18..");
    ?>



Posting Komentar

0 Komentar