tutorial pengembangan web terbaru
 

PHP setcookie() Function

<PHP HTTP Referensi

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