Kamis, Desember 8

PHP Setcookie() Function

Sumber :  w3schools

Definition and Usage

Fungsi setcookie() mengirim sebuah HTTP cookie pada klient.
Cookie merupakan variabel, yang dikirim server ke browser. Cookie biasanya file teks kecil yang embeded server pada komputer user. Setiap kali komputer yang sama melakukan permintaan halaman dengan browser, ia akan mengirim cookie juga.
Nama cookie secara otomatis ditetapkan ke sebuah variabel dengan nama yang sama. Misalnya, jika cookiedikirim dengan nama "user", variabel secara otomatis dibuat dengan nama $user, berisi nilai dari cookie tersebut.
Cookie harus ditetapkan sebelum output lainnya dikirim ke klien.
Fungsi ini bernilai TRUE ketika sukses atau FALSE ketika gagal.

Syntax

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

Parameter Description
name Required. Menentukan nama cookie
value Required. Menentukan nilai dari cookie
expire Optional. Menentukan kapan cookie berakhir.
time()+3600*24*30 akan mengatur cookie berakhir dalam 30 hari. Jika parameter tidak diatur, cookie akan berakhir pada saat session berakhir (ketika browser ditutup).
path Optional. Menentukan path server cookie
Jika diatur pada "/", cookie akan tersedia dalam seluruh domain. Jika diatur pada "/test/", cookie akan tersedia dalam test directory dan semua sub directory test. Nilai default adalah directory dimana cookie diatur.
domain Optional. Menentukan nama domain cookie.
Untuk membuat cookie tersedia pada semua subdomain dari example.com maka harus di atur pada ".example.com". Pengaturan ke www.example.com akan membuat cookie tersedia hanya dalam subdomain www.
secure Optional. Menentukan apakah cookie hanya boleh dikirim melalui koneksi aman HTTPS. TRUE menunjukkan bahwa cookie hanya akan diatur jika tersedia koneksi aman. Default adalah FALSE.


Tips and Notes

Tip: Nilai dari nama cookie "user" dapat diakses oleh $HTTP_COOKIE_VARS["user"] atau $_COOKIE["user"].
Note:Nilai cookie secara otomatis berupa URLencoded ketika mengirim cookie, dan otomatis diterjemahkan ketika di terima (untuk mencegah URLencoding, gunakan setrawcookie() sebagai penggantinya)

Example 1

Mengatur dan mengirim cookie 

<?php
$value = "my cookie value";


// send a simple cookie
setcookie("TestCookie",$value);
?>


<html>
<body>
...
...

<?php
$value = "my cookie value";

// send a cookie that expires in 24 hours
setcookie("TestCookie",$value, time()+3600*24);
?>

<html>
<body>
...
...

Example 2

Berbagai cara mengambil nilai dari cookie (setelah cookie ditetapkan):

<html>
<body>

<?php
// Print individual cookies
echo $_COOKIE["TestCookie"];
echo "<br />";
echo $HTTP_COOKIE_VARS["TestCookie"];
echo "<br />";

// Print all cookies
print_r($_COOKIE);
?>

</body>
</html>

Ouput dari code di atas akan menjadi:

my cookie value
my cookie value
Array ([TestCookie] => my cookie value

Example 3

Menghapus cookie dengan menetapkan tanggal berakhirnya ke akhir tanggal/waktu: 

<?php
// Set the expiration date to one hour ago
setcookie ("TestCookie", "", time() - 3600);
?>

<html>
<body>

...
...

Example 4

Membuat cookie array

<?php
setcookie("cookie[three]","cookiethree");
setcookie("cookie[two]","cookietwo");
setcookie("cookie[one]","cookieone");

// print cookies (after reloading page)
if (isset($_COOKIE["cookie"]))
  {
  foreach ($_COOKIE["cookie"] as $name => $value)
    {
    echo "$name : $value <br />";
    }
  }
?>

<html>
<body>

...
...

Ouput dari code di atas akan menjadi: 

three : cookiethree
two : cookietwo
one : cookieone 

2 komentar:

AMAN mengatakan...

Saya mau tanya,
Kalau menggunak java script gman cara agar ada 2 cookie? Dan cara pemanggilannya di javascript mohon infonya

suman mengatakan...

blog yang bagus. Terima kasih.
pelajari php7