Menggunakan Cookies di PHP

Session cookies, yang juga diketahui sebagai transient cookies, dinamai demikian karena keberadaannya hanya sementara, selama pengunjung berada dalam website. Jadi ketika penggunjung menutup browsernya, session cookies akan dihapus. Semua website normalnya menggunakan session cookies untuk memastikan bahwa pengunjung dikenali ketika ketika mereka berpindah-pindah dari halaman yang ada di dalam satu website dan semua informasi yang pengunjung punya diingat. Cookies didesain sebagai mekanisme bagi website untuk mengingat informasi seperti misalnya produk yang ditambahkan ke shopping cart jika kamu mengunjungi situs toko online atau mengingat aktivitas browsing. Cookies juga dapat digunakan untuk menyimpan password dan form content pengunjung yang sebelumnya dimasukan seperti alamat. Tanpa cookies setiap kali pengunjung membuka halaman situs barus, server akan mengenali kamu sebagai pengunjung baru. Kita dapat mengatur mengenai session cookies pada fitur Settings yang ada pada aplikasi web browser.

Cookies di PHP

PHP mendukung cookies HTTP, yang digunakan untuk menyimpan dari pada remote browser dan untuk mengidentifikasi pengunjung yang kembali. Pada PHP kita bisa membuat cookies dengan menggunakan fungsi setcookies() atau setrawcookies().

Setcookies() merupakan cookies yang akan dikirimkan dengan semua header HTTP. Seperti headers lainnya cookies harus dikirim sebelumu semua output dari script. Hal ini mengharuskan kita untuk memanggil fungsi cookies sebelum output apapun, termasuk tagdan. Cookies hanya dapat diakses setelah kita men-set-nya. Setcookies memiliki syntax seperti:

setcookie(name, value, expire, path, domain, secure, httponly);

Name: Merupakan nama dari cookies.

value: Merupakan nilai dari cookies yang disimpan pada komputer pengunjung.

Expire: Merupakan masa berlaku cookies, menggunakan fungsi time () ditambah dengan detik dari keseluruhan waktu berlaku. Misalnya waktunya adalah seminggu:

time() + (86400 * 7));, 86400 didapat dari 24 (jam) x 60 (menit) x 60 (detik).

Path: Merupakan server dimana cookies tersedia.

Domain: Merupakan domain dimana cookies tersedia.

Secure: Merupakan parameter yang mengindikasikan bahwa cookies harus ditransmisi melalui koneksi HTTPS yang aman dari komputer pengunjung.

Httponly: Ketika ‘True’ maka cookies hanya bisa diakses melalui protokol HTTP.

Setrawcookie() sama seperti setcookie, perbedaanya pada nilai cookie tidak akan secara otomatis di encoded ketka dikirim ke browser.

Membuat Cookies di PHP

<?php
$cookie_name = "test";
$cookie_value = "Cookie";

//setting the cookie name, value and expiration date - after 7 days
setcookie($cookie_name, $cookie_value, time() + (86400 * 7), "/"); 

//listing the cookie
echo $_COOKIE["test"];
?> 

Code diatas men-set nama cookie sebagai ‘test,’ dan value adalah ‘Cookie’ dan waktu expirednya adalah 7 hari.

Mengakses Cookies di PHP

Cara yang paling simpel untuk mengakses Cookies di PHP, adalah dengan menggunakan $_COOKIE. Seperti misalnya menampilkan informasi cookies ini:

<?php
   setcookie("name", "Rafa Nadal", time()+3600, "/","", 0);
   setcookie("age", "28", time()+3600, "/", "",  0);
   setcookie("RolandGarros", "9", time()+3600, "/", "",  0);
   
   echo $_COOKIE["name"]. " ----- ". $_COOKIE["age"]." ----- ".$_COOKIE["RolandGarros"];
?> 

Mengupdate Cookies di PHP

Untuk mengupdate cookie, yang kamu bisa lakukan adalah kembali menggunakan metode setcookie():

<?php
   setcookie("name", "Rafa Nadal", time()+3600, "/","", 0);
   setcookie("age", "29", time()+3600, "/", "",  0);
   setcookie("RolandGarros", "9", time()+3600, "/", "",  0);
   
   //mengupdate cookie 'name'
   setcookie("name", "Roger Federer", time()+3600, "/","", 0);
   
   echo $_COOKIE["name"]. " ----- ". $_COOKIE["age"]." ----- ".$_COOKIE["RolandGarros"];
?> 

Menghapus Cookies di PHP

Untuk menghapus cookie, kamu harus men-set parameter time menjadi expired, jadi cookie akan secara otomatis dihapus. Jika value tidak diisi, atau ditulis FALSE, dan semua parameter lainnya dikosongkan, maka cookies akan dihapus dari remote client.

<?php 
	//cookie expired, jadi akan dihapus
	setcookie("age", "56", time()-3600);

	//menghapus cookie dengan men-set value dengan argument FALSE atau tidak diisi
      setcookie("age", "FALSE", time(), "/", "",  0);
      setcookie("age", "", time(), "/", "",  0);
?> 

Mengecek Cookies di PHP

Untuk mengecek cookies apakah sudah diaktifkan bisa menggunakan fungsi count(), seperti:

<?php

setcookie("name", "Rafa Nadal", time()+3600, "/","", 0);

if(count($_COOKIE) > 0) {
    echo "Cookies are enabled.";
} else {
    echo "Cookies are disabled.";
}
?> 

 

Jakartawebhosting.com menyediakan layanan PHP Hosting, dengan kecepatan dan stabilitas pusat data dan server yang baik, up time server 99,9%, team support yang siap membantu 24 jam dan biaya langganan yang menarik.

You may also like...