Fungsi setrawcookie()
digunakan untuk mendefinisikan cookie (tanpa pengkodean URL) untuk dikirim bersama dengan header HTTP lainnya.
Cookie sering digunakan untuk mengidentifikasi pengguna. Cookie adalah file kecil yang disematkan pada server di komputer pengguna. Setiap kali komputer yang sama meminta halaman dengan browser, cookie juga akan dikirim. PHP dapat membuat dan mengambil nilai cookie.
Nama cookie secara otomatis ditetapkan ke variabel dengan nama yang sama. Misalnya, jika cookie dikirim dengan nama “user”, variabel secara otomatis dibuat bernama $user, yang berisi nilai cookie.
Catatan: Fungsi setrawcookie()
harus muncul SEBELUM tag <html>.
Catatan: Untuk secara otomatis menyandikan URL nilai cookie saat mengirim dan secara otomatis mendekode saat menerima, gunakan fungsi setcookie()
sebagai gantinya.
setrawcookie(name, value, expire, path, domain, secure);
Parameter | Deskripsi |
---|---|
name | Required. Menentukan nama cookie |
value | Optional. Menentukan nilai cookie |
expire | Optional. Menentukan kapan cookie kedaluwarsa. Nilai: time () + 86400 * 30, akan menyetel cookie agar kedaluwarsa dalam 30 hari. Jika parameter ini dihilangkan atau disetel ke 0, cookie akan kedaluwarsa di akhir sesi (saat browser ditutup). Default-nya adalah 0 |
path | Optional. Menentukan jalur server cookie. Jika disetel ke “/”, cookie akan tersedia di seluruh domain. Jika disetel ke “/php/”, cookie hanya akan tersedia di dalam direktori php dan semua sub-direktori php. Nilai defaultnya adalah direktori saat ini tempat cookie sedang disetel |
domain | Optional. Menentukan nama domain cookie. Untuk membuat cookie tersedia di semua subdomain example.com, setel domain ke “example.com”. Menyetelnya ke www.example.com akan membuat cookie hanya tersedia di subdomain www |
secure | Optional.Menentukan apakah cookie hanya boleh dikirim melalui koneksi HTTPS yang aman atau tidak. TRUE akan menunjukkan bahwa cookie hanya akan disetel jika ada koneksi aman. Default-nya FALSE |
Return Value: | TRUE jika sukses. FALSE jika gagal |
---|---|
PHP Version: | 5+ |
Contoh 1
Contoh berikut membuat cookie dengan PHP. Cookie tersebut bernama “user” dan nilainya adalah “Tony Stark”. Nilai cookie tidak akan dienkode URL. Cookie akan kedaluwarsa setelah 30 hari (86400 * 30). Menggunakan “/”, berarti cookie tersedia di seluruh situs web (jika tidak, pilih direktori yang diinginkan):
<?php $cookie_name = "user"; $cookie_value = "Tony"; setrawcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/"); // 86400 = 1 day ?> <html> <body> <?php echo "Cookie sudah di setel."; ?> </body> </html> ?> // Output : Cookie sudah di setel
Contoh 2
Ambil nilai cookie bernama “user” (menggunakan variabel global $_COOKIE). Gunakan juga fungsi isset() untuk mengetahui apakah cookie itu ada:
<html> <body> <?php $cookie_name = "user"; if(!isset($_COOKIE[$cookie_name])) { echo "Nama cookie '" . $cookie_name . "' tidak ada!"; } else { echo "Nama cookie: " . $cookie_name . "<br>Nilainya: " . $_COOKIE[$cookie_name]; } ?> </body> </html> // Output : Nama cookie tidak ada
Contoh 3
Untuk memodifikasi cookie, cukup setel (lagi) cookie menggunakan fungsi setrawcookie():
<?php $cookie_name = "user"; $cookie_value = "Stark"; setrawcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/"); ?> <html> <body> <?php $cookie_name = "user"; if(!isset($_COOKIE[$cookie_name])) { echo "Nama cookie '" . $cookie_name . "' tidak ada!"; } else { echo "Nama cookie: " . $cookie_name . "<br>Nilainya: " . $_COOKIE[$cookie_name]; } ?> </body> </html> // Output : Nama cookie tidak ada
Contoh 4
Untuk menghapus cookie, gunakan fungsi setrawcookie () dengan tanggal kedaluwarsa di masa lalu:
<?php $cookie_name = "user"; unset($_COOKIE[$cookie_name]); // nilai kosong dan kedaluwarsa satu jam sebelumnya $res = setrawcookie($cookie_name, '', time() - 3600); ?> <html> <body> <?php echo "Cookie 'user' dihapus."; ?> </body> </html> // Output : Cookie 'user' dihapus
Contoh 5
Buat skrip kecil yang memeriksa apakah cookie diaktifkan. Pertama, coba buat cookie percobaan dengan fungsi setrawcookie(), lalu hitung variabel array $_COOKIE:
<?php setrawcookie("test_cookie", "test", time() + 3600, '/'); ?> <html> <body> <?php if(count($_COOKIE) > 0) { echo "Cookies diaktifkan"; } else { echo "Cookies dinonaktifkan"; } ?> </body> </html> // Output : Cookies dinonaktifkan