Sebelumnya apakah kalian sudah tau apa itu cookie? Bukan sejenis biskuit loh ya wkwkwk :v . Jadi cookie yaitu variabel sementara yang dibuat untuk keperluan tertentu dan terletak pada client ( sumber : http://media-kreatif.com/home/post/10/cookie-dalam-pemrograman-php.prm).
Sebelumya kita kan sudah mempelajari bagaimana menggunakan session untuk menyimpan data. Nah, selain menggunakan session kita juga bisa menggunakan cookie loh.
Emmmmm jadi kita sama saja dong antara memakai session dengan cookie??
Tentu tidak, dalam hal ini terdapat perbedaan antara session dengan cookie yaitu dari sisi kegunaannya, jika session data disimpan dalam server web sedangkan data cookie disimpan dalam komputer client.
Diantara session dan cookie juga memiliki kelebihan dan kelemahan masing-masing yaitu pada session user tidak bisa menghapus data yang tersimpan kecuali dirinya sendiri, misal dengan menutup browser atau ketika dalam proses logout. Kelemahannya yaitu ketika tiba-tiba jaringan internet terputus setelah proses login, maka otomatis session akan terhapus sehingga apabila hal ini terjadi ketika kita mengakses halaman web yang terdapat autentifikasi maka kita diharuskan login kembali.
Sedangkan cookie, data disimpan di komputer client. Dengan demikian data tersebut tetap tersimpan meskipun jaringan internetnya terputus atau dalam kondisi offline. Namun kelemahannya yaitu data cookie tersebut dapat dihapus oleh orang lain yang juga menggunakan komputer tersebut, atau mungkin user komputer tersebut telah mengeset bahwa browsernya tidak bisa menerima cookie sehingga cookie tidak bisa tersimpan dalam komputer client.
CARA MENYIMPAN DATA KE DALAM COOKIE
Untuk menyimpan data ke dalam cookie yaitu dengan memberikan perintah :
setcookie(“nama cookie”, value, expired time);
Pada perintah di atas, parameter ‘nama cookie’ bisa diisi dengan sebarang nama. Nama cookie ini seperti halnya kita memberi nama pada session. Parameter ‘value’ nantinya diisi dengan data yang akan disimpan. Sedangkan parameter ‘expired time’ adalah lama waktu untuk mengatur masa berlaku cookie.
Catatan:
Nama cookie tidak boleh mengandung spasi Expired Time dihitung dalam satuan detik
Contoh:
<?php
$kata = "Saya sedang belajar COOKIE";
setcookie("mycookie", $kata, time()+3600);
?>

Script di atas akan menyimpan data berupa teks ‘Saya sedang belajar COOKIE’ ke dalam cookie. Bila script di atas dijalankan, maka kita bisa lihat valuenya dalam COOKIE. Apabila kita menggunakan Firefox, maka cara melihat cookienya adalah:
- Klik TOOLS > OPTIONS
- Pilih menu tab PRIVACY
- Klik tombol SHOW COOKIES
- Kemudian dicari nama situsnya, karena Anda mencobanya melalui LOCALHOST maka LOCALHOST pada site name
- Lalu akan tampil seperti pada gambar berikut ini
(gambar menyusul ya. Mianne…)
Nah… konsep cookie yang bisa diatur jangka waktu atau umurnya ini sering dimanfaatkan oleh program-program bisnis afiliasi.
MEMBACA VALUE/DATA COOKIE
Setelah cookie tersimpan, selanjutnya kita bisa membaca valuenya. Untuk membaca value cookie, caranya adalah menggunakan perintah
$_COOKIE['nama cookie'];
Contoh:
<?php
if isset($_COOKIE['mycookie'])
{
echo $_COOKIE['mycookie'];
}
else echo "Cookie Tidak Ada"; ?>
Script di atas digunakan untuk menampilkan value dari cookie bernama ‘mycookie’ apabila cookie tersebut ada (masih tersimpan dalam komputer), sedangkan apabila sudah tidak ada maka tampilkan ‘cookie tidak ada’.
Nah… mungkin kita terbesit pikiran, bagaimana apabila terdapat nama cookie yang sama lebih dari satu yang tersimpan dalam komputer? Apabila nama cookie yang sama tersebut berasal dari situs yang sama, maka sifat timpa menimpa value seperti halnya dalam variabel akan terjadi.
Contoh:
script1.php
<?php
$kata = "COOKIE 1";
setcookie("mycookie", $kata, time()+3600);
?>
script2.php
<?php
$kata = "COOKIE 2";
setcookie("mycookie", $kata, time()+3600); ?>
Kedua script di atas akan melakukan proses penyimpanan cookie sebanyak 2 kali dengan value yang berbeda namun nama cookienya sama. Jika kita jalankan script di atas dalam localhost (sebagai nama situsnya), maka value cookie pertama akan ditimpa dengan cookie yang kedua.
Namun… misalnya kita mempunyai dua situs atau server yang berbeda yaitu A dan B, kemudian script1.php kita upload ke A sedangkan script2.php diupload ke B. Selanjutnya script1.php di A dijalankan dan script2.php di B juga dijalankan. Jika diperhatikan, maka proses ini akan menghasilkan 2 buah cookie yang berbeda, meskipun nama cookienya sama. Disini yang membedakan adalah nama server atau situsnya.
Sekian dulu penjelasan mengenai cookie. Terimakasih telah berkunjung.. Tetap semangat dan terus berlatih..



