May 4, 2012

PHP Cookies

Cookie sering digunakan untuk mengidentifikasi pengguna

What is a Cookie?

Cookie sering digunakan untuk mengidentifikasi pengguna. Cookie adalah file kecil yang tertanam pada server komputer pengguna. Setiap kali komputer yang sama melakukan permintaan halaman dengan browser, ia akan mengirim cookie juga. Dengan PHP, anda bisa membuat dan mengambil nilai cookie.

How to Create a Cookie?

Fungsi setcookie() digunakan untuk mengatur cookie.
Note: Fungsi setcookie() harus berada SEBELUM tag <html>.

Syntax

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

Example 1

Pada contoh di bawah ini, kita akan membuat cookie dengan nama "user" dan memberinya nilai "Alex Porter". Kita juga mendeskripsikan bahwa cookie akan habis masanya setelah satu jam:

<?php
setcookie("user", "Alex Porter", time()+3600);
?>

<html>
.....

Note: Nilai cookie secara otomatis berupa URLencoded ketika mengirim cookie, dan otomatis diterjemahkan ketika di terima (untuk mencegah URLencoding, gunakan setrawcookie() sebagai penggantinya).

Example 2

Anda juga dapat mengatur masa berlaku cookie dengan cara lain. Ini mungkin lebih mudah dari pada menggunakan hitungan detik.

<?php
$expire=time()+60*60*24*30;
setcookie("user", "Alex Porter", $expire);
?>

<html>
.....

Pada contoh di atas masa berlaku cookie diatur dalam bentuk bulan (60 sec * 60 min * 24 hours * 30 days).

How to Retrieve a Cookie Value?

Variabel PHP $_COOKIE digunakan untuk mengambil nilai cookie.

Pada contoh di bawah ini, cookie dengan nama "user" diambil nilainya dan ditampilkan pada halaman:

<?php
// Print a cookie
echo $_COOKIE["user"];

// A way to view all cookies
print_r($_COOKIE);

?>

Pada contoh di bawah fungsi isset() digunakan untuk memeriksa apakah cookie sudah diatur atau tidak:

<html>
<body>

<?php
if (isset($_COOKIE["user"]))
  echo "Welcome " . $_COOKIE["user"] . "!<br />";
else
  echo "Welcome guest!<br />";
?>

</body>
</html>


How to Delete a Cookie?

Ketika menghapus cookie harus dipastikan bahwa tanggal masa aktifnya sudah lewat.

Contoh:


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


What if a Browser Does NOT Support Cookies?

Jika aplikasi anda berhubungan dengan browser yang tidak mendukung cookie, anda harus menggunakan metode lain untuk melewatkan informasi dari satu halaman ke halaman lain dalam aplikasi anda. Salah metodenya adalah melewatkan data melalui form.
Form di bawah melewatkan user input pada "welcome.php" ketika user menekan tombol "Submit":

<html>
<body>

<form action="welcome.php" method="post">
Name: <input type="text" name="name" />
Age: <input type="text" name="age" />
<input type="submit" />
</form>

</body>
</html>

Mengambil nilai di file "welcome.php" seperti ini:

<html>
<body>

Welcome <?php echo $_POST["name"]; ?>.<br />
You are <?php echo $_POST["age"]; ?> years old.

</body>
</html>


Ref :
w3schools