Contoh
Contoh berikut membuat cookie bernama "user" dengan nilai "John Doe" . Cookie akan berakhir setelah 30 hari (86400 * 30) . The "/" berarti bahwa cookie tersedia di seluruh website (otherwise, select the directory you prefer) .
Kami kemudian mengambil nilai dari cookie "user" (menggunakan variabel global $ _COOKIE). Kami juga menggunakan isset() fungsi untuk mengetahui apakah cookie diatur:
<!DOCTYPE html>
<?php
$cookie_name = "user";
$cookie_value = "John
Doe";
setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/");
// 86400 = 1 day
?>
<html>
<body>
<?php
if(!isset($_COOKIE[$cookie_name]))
{
echo "Cookie named '" . $cookie_name . "' is not
set!";
} else {
echo "Cookie '" . $cookie_name
. "' is set!<br>";
echo "Value is: " . $_COOKIE[$cookie_name];
}
?>
</body>
</html>
Menjalankan contoh » Definisi dan Penggunaan
The setcookie() fungsi mendefinisikan cookie yang akan dikirim bersama dengan sisa dari header HTTP.
Cookie sering digunakan untuk mengidentifikasi pengguna. Cookie adalah file kecil yang server embeds pada komputer pengguna. Setiap kali komputer yang sama meminta halaman dengan browser, ia akan mengirim cookie juga. Dengan PHP, Anda berdua bisa membuat dan mengambil nilai cookie.
Nama cookie secara otomatis ditetapkan ke variabel dengan nama yang sama. Sebagai contoh, jika cookie dikirim dengan nama "user" , variabel secara otomatis dibuat disebut $ user, mengandung nilai cookie.
Note: The setcookie() harus dibuat sebelum para <html> tag.
Note: Nilai cookie secara otomatis urlencoded ketika mengirim cookie, dan secara otomatis diterjemahkan saat diterima (untuk mencegah urlencoding, penggunaan setrawcookie() sebagai gantinya).
Sintaksis
setcookie( name,value,expire,path,domain,secure,httponly );
Parameter | Deskripsi |
---|---|
name | Wajib. Menentukan nama cookie |
value | Pilihan. Menentukan nilai cookie |
expire | Pilihan. Menentukan kapan cookie berakhir. Nilai: time() + 86.400 * 30, akan mengatur cookie akan berakhir dalam 30 hari. Jika parameter ini diabaikan atau set ke 0, cookie akan berakhir pada akhir sesi (when the browser closes) . Default adalah 0 |
path | Pilihan. Menentukan jalur server dari cookie. Jika diatur ke "/" , cookie akan tersedia dalam seluruh domain. Jika diatur ke "/php/" , cookie hanya akan tersedia dalam direktori php dan semua sub-direktori php. Nilai default adalah direktori saat ini bahwa cookie sedang diatur di |
domain | Pilihan. Menentukan nama domain cookie. Untuk membuat cookie tersedia di semua subdomain dari example.com, mengatur domain untuk "example.com" . Setting ke www.example.com akan membuat cookie hanya tersedia di subdomain www |
secure | Pilihan. Menentukan apakah atau tidak cookie hanya harus dikirimkan melalui sambungan HTTPS aman. BENAR menunjukkan bahwa cookie hanya akan diatur jika koneksi aman ada. Default adalah SALAH |
httponly | Pilihan. Jika disetel TRUE cookie akan dapat diakses hanya melalui protokol HTTP (the cookie will not be accessible by scripting languages) . Pengaturan ini dapat membantu untuk mengurangi pencurian identitas melalui serangan XSS. Default adalah SALAH |
Rincian teknis
Kembali Nilai: | BENAR pada kesuksesan. FALSE pada kegagalan |
---|---|
PHP Versi: | 4+ |
PHP Changelog: | PHP 5.5 - Sebuah atribut Max-Age termasuk dalam header Set-Cookie dikirim ke klien PHP 5.2 - Parameter httponly ditambahkan |
Contoh lebih
Contoh
Beberapa berakhir tanggal untuk cookie:
<?php
$value = "Hello world!";
// cookie will expire when the
browser close
setcookie("myCookie", $value);
// cookie will expire
in 1 hour
setcookie("myCookie", $value, time() + 3600);
// cookie
will expire in 1 hour, and will only be available
// within the php
directory + all sub-directories of php
setcookie("myCookie", $value,
time() + 3600, "/php/");
?>
<html>
<body>
...some code...
</body>
</html>
Menjalankan contoh » Contoh
Untuk mengubah cookie, hanya mengatur (again) cookie menggunakan setcookie() fungsi:
<?php
$cookie_name = "user";
$cookie_value = "Alex
Porter";
setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/");
?>
<html>
<body>
<?php
if(!isset($_COOKIE[$cookie_name]))
{
echo "Cookie named '" . $cookie_name . "' is not
set!";
} else {
echo "Cookie '" . $cookie_name
. "' is set!<br>";
echo "Value is: " . $_COOKIE[$cookie_name];
}
?>
</body>
</html>
Menjalankan contoh » Contoh
Untuk menghapus cookie, gunakan setcookie() fungsi dengan tanggal kedaluwarsa di masa lalu:
<?php
// set the expiration date to one hour ago
setcookie("user",
"" , time() - 3600);
?>
<html>
<body>
<?php
echo "Cookie 'user'
is deleted.";
?>
</body>
</html>
Menjalankan contoh » Contoh
Membuat script kecil yang memeriksa apakah cookies diaktifkan. Pertama, cobalah untuk membuat cookie tes dengan setcookie() fungsi, kemudian menghitung variabel array $ _COOKIE:
<?php
setcookie("test_cookie", "test" , time() + 3600, '/');
?>
<html>
<body>
<?php
if(count($_COOKIE) > 0) {
echo "Cookies are enabled.";
} else {
echo "Cookies
are disabled.";
}
?>
</body>
</html>
Menjalankan contoh » <PHP HTTP Referensi