Mengenal Perbedaan Antara Session dan Cookie di PHP

Perbedaan Antara Session dan Cookie di PHP – Cookie dan Session merupakan dua jenis superglobal variabel yang sering digunakan untuk membuat aplikasi website berbasis PHP, khususnya untuk membuat fitur login.

Cookie dan Session juga telah saya buatkan artikel sebelumnya mengenai studi kasus cara membuat form login dan register dengan php dan mysql database. Dimana, di dalamnya sudah terdapat fitur Session dan Cookie.

Perbedaan Antara Session dan Cookie di PHP

Perbedaan antara Session dan Cookie di PHP yang paling mencolok dari dua jenis superglobal variabel di PHP ini adalah mengenai bagaimana penanganan informasinya yang disimpan di dalamnya. Secara umum, informasi yang berada di Session akan disimpan di sisi server sehingga lebih aman daripada Cookie.

Session otomatis akan terhapus begitu kalian menutup browser. Sedangkan informasi yang berada di Cookie akan disimpan di sisi client sehingga kurang aman jika berisi informasi yang sensitif. Cookie akan otomatis terhapus berdasarkan waktu yang telah ditentukan.

Cara Membuat Session dan Cookie di PHP

Setelah kalian memahami perbedaan antara Session dan Cookie di PHP, selanjutnya saya sajikan bagaimana cara membuat Session dan Cookie dengan mudah di PHP.

Cara Membuat Session di PHP

Session merupakan salah satu dari sekian superglobal variabel yang disediakan oleh PHP. Untuk menggunakan Session, kita dapat menggunakan $_SESSION[]. Variabel tersebut tidak dapat berjalan sendiri dan memerlukan function session_start() yang harus diletakkan paling atas.

Sebelum membuat Session, silahkan terlebih dahulu kalian membuat file baru dengan nama apa saja. Dalam tutorial ini, saya membuat file PHP baru dengan nama session.php lalu copy pastekan kode berikut ke dalamnya.

<?php
function is_session() {
  session_start();
  $_SESSION['_sess'] = time();
  if(isset($_SESSION['_sess'])) {
    return true;
  } else{
    return false;
  }
}

if(is_session()) {
  echo 'Sesi aktif!';
}
?>

Pada kode di atas, saya membuat function is_session() yang digunakan untuk mengecek apakah sebuah Session sudah diset atau belum. Jika sudah diset pada baris 4 maka akan mengembalikan nilai berupa true atau false jika belum diset.

Contoh penggunaan functionnya bisa dilihat pada baris 12 dimana saya mengecek Session. Apabila sudah diset maka akan tampil Sesi Aktif!.

Cara Membuat Cookie di PHP

Untuk membuat Cookie di PHP, kita perlu beberapa hal diantaranya adalah superglobal variabel $_COOKIE[] dan setcookie(). Khusus setcookie(), memiliki beberapa parameter yang bisa kita isi.

setcookie( string $name [, string $value = "" [, int $expires = 0 [, string $path = "" [, string $domain = "" [, bool $secure = FALSE [, bool $httponly = FALSE]]]]]] ) : bool

Terlihat panjang bukan parameternya? Tapi, pada intinya setcookie() memiliki 7 parameter yang bisa kita gunakan sesuai kebutuhan.

  1. $name, diisi dengan nama Cookie yang dinginkan misal _cookie.
  2. $value, diisi dengan nilai Cookie yang diinginkan misal TEST_COOKIE.
  3. $expires, diisi dengan masa kedaluwarsa Cookie dalam integer yang diinginkan misal jika satu jam maka diisi dengan time() + 3600.
  4. $path, isi dengan path hanya jika Cookie berlaku pada path tertentu.
  5. $domain, isi dengan domain subdomain yang diinginkan.
  6. $secure, diisi dengan boolean true atau false jika Cookie mendukung SSL.
  7. $httponly, diisi dengan boolean true atau false yang bertujuan untuk mengamankan lalu lintas HTTP Header.

setcookie() akan mengembalikan nilai berupa boolean. Dalam tutorial ini, saya hanya menggunakan parameter nomor 1 hingga 4 di atas.

Sama seperti membuat Session, silahkan buat file PHP baru dengan nama apa saja. Dalam tutorial ini saya membuat nama file PHP baru dengan nama cookie.php lalu copy pastekan kode berikut ini ke dalamnya.

<?php
function is_cookie() {
  $_COOKIE['_cookie'] = 'INI CONTOH NILAI COOKIE';
  if(isset($_COOKIE['_cookie'])) {
    setcookie('_cookie', 'INI CONTOH NILAI COOKIE', time() + 3600, '/');
    return true;
  } else {
    return false;
  }
}

if(is_cookie()) {
  echo 'Cookie aktif!';
}
?>

Pada kode di atas, saya membuat function is_cookie() untuk mengecek apakah Cookie telah diset atau belum. Jika sudah maka akan mengembalikan nilai berupa true atau false jika belum diset.

Jika kalian menjalankan Cookie di atas pada baris ke 12 maka tulisan Cookie Aktif! akan terus muncul selama 3600 detik atau 1 jam pada halaman index beranda kalian, meskipun kalian menutup browser.

Penutup

Demikian artikel pada kesempatan kali ini mengenai perbedaan antara Session dan Cookie di PHP serta cara membuat keduanya. Selamat mencoba dan semoga bermanfaat.

Bagikan Ke

Leave a Reply

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *