Tinggalkan komentar

Menyimpan konfigurasi warna background dengan cookies PHP

Cookies merupakan mekanisme penyimpanan variabel disisi client (browser),  hampir sama dengan session hanya bedanya session disimpan di sisi server.

Disini kita akan membuat sebuah fungsionalitas yang memberikan keleluasaan kepada pengunjung untuk memilih warna background dari halaman web, yang nantinya pilihan tersebut akan disimpan menggunakan cookies pada komputer client sehingga ketika ia berkunjung kembali warna pilihannya tersebut sudah aktif tanpa harus memilih lagi.

cookies.php


Langsung aja kita cek source code-nya :

<?php
/*
	user berkunjung yg kesekian kalinya dan sudah ada cookies
*/
if( !empty($_COOKIE['colorpick']) && empty($_REQUEST['color']) ){
	$color = $_COOKIE['colorpick'];
}
/*
	user memilih warna (submit) warna tersebut akan disimpan ke cookies
*/
elseif( !empty($_REQUEST['color']) ){
	/*
		simpan cookie di client dengan nama colorpick, hapus cookies setelah 30 hari
		@ var $_COOKIE['colorpick']
	*/
	setcookie("colorpick", $_REQUEST['color'], time()+60*60*24*30);
	$color = $_REQUEST['color'];
}
?>
<html>
<head>
<title>Anda memilih warna latar : <?php echo $color ? $color : 'Belum memilih warna';?></title>
</head>

<body bgcolor="<?php echo $color;?>">
<form name="form1" action="<?php echo $_SERVER['PHP_SELF'];?>" method="post">
<select name="color" onchange="document.form1.submit()">
	<option value="">- Pilih warna latar -</option>
	<option value="red">merah</option>
	<option value="green">hijau</option>
	<option value="blue">biru</option>
</select>
</form>
</body>
</html>

Ketika pengunjung memilih warna latar, contoh gambar:  memilih warna merah. Nilai “red” akan disimpan dalam variabel $color dan akan dikirim (submit) ke file ini sendiri menggunakan $_SERVER['PHP_SELF'];

Untuk memastikan cookies ini bekerja, setelah memilih warna merah tutup browser, lalu buka kembali dan kunjungi lagi halaman tersebut, jika warna latar masih merah artinya cookies bekerja.

Terdapat 3 kondisi yang akan ditangani oleh script di atas :

  1. Default, ketika pengunjung baru pertama kali membuka halaman ini
  2. Submit, ketika pengunjung memilih warna
  3. Re-visit, Ketika pengunjung yang sudah memilih warna melakukan kunjungan yang kesekian kalinya

Umur cookies diatur oleh setcookie("colorpick", $_REQUEST['color'], time()+60*60*24*30); umur cookie harus dimulai dengan fungsi time() lalu ditambah nilai dalam second, 60*60*24*30 = 30 hari.

Pilih warna merah

Setiap cookies yang disimpan oleh browser dapat kita lihat informasinya, disini menggunakan browser firefox 6. Klik menu Firefox > Options > Options >Privacy > remove individual cookies lalu lakukan search dengan kata kunci localhost klik colorpick pada kolom cookies name dan informasi detail akan tampil dibawahnya.

Cookies di Firefox 6

Penggunaan cookies pada website sangatlah luas, semoga tutorial singkat ini mampu memberi jalan dalam memahami mekanisme cookies secara keseluruhan.

Menurut anda bacaan ini bermanfaat? Ada tambahan? Atau mungkin mencari jawaban lain? Tulis disini Ok (:

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: