Lompat ke konten Lompat ke sidebar Lompat ke footer

Sticky Ad

Cara Menggunakan Cookie Dengan PHP

Sebagai pengembang situs web, Anda dapat menggunakan PHP untuk mengatur cookie yang berisi informasi tentang pengunjung ke situs web Anda. Cookie menyimpan informasi tentang pengunjung situs di komputer pengunjung yang dapat diakses setelah kunjungan kembali. Salah satu penggunaan umum cookie adalah untuk menyimpan token akses sehingga pengguna tidak perlu login setiap kali dia mengunjungi situs web Anda. Cookie juga dapat menyimpan informasi lain seperti nama pengguna, tanggal kunjungan terakhir dan isi keranjang belanja.

Meskipun cookie telah ada selama bertahun-tahun dan sebagian besar orang mengaktifkannya, beberapa pengguna tidak menerimanya karena masalah privasi atau secara otomatis menghapusnya ketika sesi penjelajahan mereka ditutup. Karena cookie dapat dihapus oleh pengguna kapan saja dan disimpan dalam format teks biasa , jangan gunakan itu untuk menyimpan sesuatu yang sensitif.

Cara Mengatur Cookie Menggunakan PHP

Dalam PHP, fungsi setcookie () mendefinisikan cookie. Itu dikirim bersama dengan header HTTP lain dan mentransmisikan sebelum tubuh HTML diuraikan.
Cookie mengikuti sintaks:
setcookie(name,value,expire,path,domain,secure,httponly);
di mana nama menunjukkan nama cookie dan nilainya menggambarkan konten cookie. Untuk fungsi setcookie () , hanya  parameter nama yang diperlukan. Semua parameter lain bersifat opsional. 
Contoh Cookie
Untuk menetapkan cookie bernama "UserVisit" di browser pengunjung yang menetapkan nilai ke tanggal saat ini, dan selanjutnya menetapkan kedaluwarsa dalam 30 hari (2592000 = 60 detik * 60 menit * 24 menit * 24 jam * 30 hari), gunakan kode PHP berikut:
<?php 
$Month = 2592000 + time();
//this adds 30 days to the current time
setcookie(UserVisit, date("F jS - g:i a"), $Month);
?>
Cookie harus dikirim sebelum HTML apa pun dikirim ke halaman atau tidak berfungsi, sehingga fungsi setcookie () harus muncul sebelum tag <html> .
Cara Mengambil Cookie menggunakan PHP
Untuk mengambil cookie dari komputer pengguna pada kunjungan berikutnya, panggil dengan kode berikut:
<?php
if(isset($_COOKIE['UserVisit']))
{
$last = $_COOKIE['UserVisit'];
echo "Welcome back! <br> You last visited on ". $last;
}
else
{
echo "Welcome to our site!";
}
?>
Kode ini pertama-tama memeriksa apakah cookie itu ada. Jika ya, itu menyambut pengguna kembali dan mengumumkan kapan pengguna terakhir dikunjungi. Jika pengguna baru, ia mencetak pesan sambutan umum.
TIP: Jika Anda memanggil cookie pada halaman yang sama dengan yang Anda rencanakan untuk diatur, ambil sebelum Anda menimpanya.
Cara Menghancurkan Cookie
Untuk menghancurkan cookie, gunakan setcookie () lagi tetapi tetapkan tanggal kedaluwarsa di masa lalu:
<?php 
$past = time() - 10; 
//this makes the time 10 seconds ago 
setcookie(UserVisit, date("F jS - g:i a"), $past);
?>

Parameter opsional

Selain nilai  dan  kedaluwarsa, fungsi setcookie () mendukung beberapa parameter opsional lainnya:

  • Path mengidentifikasi jalur server cookie. Jika Anda mengaturnya ke "/" maka cookie akan tersedia untuk seluruh domain. Secara default, cookie bekerja di direktori yang ditetapkan, tetapi Anda dapat memaksanya untuk bekerja di direktori lain dengan menetapkannya dengan parameter ini. Fungsi ini mengalir, sehingga semua subdirektori dalam direktori yang ditentukan juga akan memiliki akses ke cookie.
  • Domain mengidentifikasi domain spesifik tempat cookie bekerja. Untuk membuat cookie berfungsi pada semua subdomain, tentukan domain tingkat atas secara eksplisit (mis., "Sample.com"). Jika Anda mengatur domain ke "www.sample.com" maka cookie hanya tersedia di subdomain www.
  • Secure menentukan apakah cookie harus mengirim melalui koneksi yang aman. Jika nilai ini disetel ke TRUE maka cookie hanya akan ditetapkan untuk koneksi HTTPS. Nilai standarnya adalah SALAH.
  • Httponly , ketika diatur ke TRUE, hanya akan memungkinkan cookie diakses oleh protokol HTTP. Secara default, nilainya FALSE. Manfaat dari menyetel cookie ke TRUE adalah bahwa bahasa scripting tidak dapat mengakses cookie.