Selasa, 10 Desember 2013

Session dan Cookies PHP

Session dan Cookies
Cookies
Cookie biasanya digunakan untuk mengidentifikasi user, Setiap user melalui browser yang meminta request ke server akan membawa juga cookie dari browser tersebut. Melalui PHP kita dapat membuat cookie ataupun menerima data cookie.
Dalam mengatur cookie terdapat 3 hal penting yang harus diperhatikan, yaitu:
 membuat variabel cookie dan memberi nilai awal cookie,
 mengambil data dari cookie yang telah kita buat sebelumnya,
 menghapus variabel cookie
Konsep cookie dalam pemrograman web gambarannya seperti berikut, Saat user login melalui browser dan login tersebut berhasil, maka dari server akan mengirim data cookie yang akan disimpan di client. Saat cookie tersebut tersimpan, kita dapat membuka halaman2 web yang membutuhkan validasi cookie. Saat kita logout, maka data cookie tersebut akan di hapus dan kita tidak dapat lagi membuka halaman2 web yang tervalidasi oleh cookie. Cookie dapat dihapus juga menggunakan waktu expired, jadi jika user tidak logout dalam batas waktu tertentu cookie akan otomatis terhapus, pengaturan tersebut dapat kita lakukan melalui PHP.
Berikut script untuk membuat cookie dan memberi nilai awal cookie, Pastikan menuliskan script tersebut sebelum tag <html>
<?php
// cookie dengan variabel user, bernilai Jack Wilshere, batas waktu 1 jam
setcookie("user", "Jack Wilshere", time()+3600);
// jika ingin menghilangkan batas waktu, tdk perlu parameter terakhir
setcookie("user", "Jack Wilshere");
?>
Dan untuk mengambil nilai cookie, dapat menggunakan fungsi berikut.. dan tentu saja fungsi print_r() tetap bisa digunakan untuk melihat data cookie apa saja yang tersimpan di client
<?php
// menampilkan data cookie
echo $_COOKIE["user"];
// cara untuk melihat semua data cookie
print_r($_COOKIE);
?>
Dan berikut script untuk menghapus data cookie
<?php
// set expire untuk session
setcookie("user", "", time()-3600);
?>
Session
Suatu variabel session PHP digunakan untuk menyimpan informasi tentang user, dan dapat di kenali di semua halaman web dalam satu aplikasi. Session di simpan di sisi server dan bersifat sementara, yaitu selama user belum keluar dari aplikasi atau session tersebut telah habis waktu gunanya (expired).
Session bekerja dengan menciptakan sebuah id unik (UID) untuk setiap user dan menyimpan di server berdasarkan UID tersebut.
Sebelum menyimpan variabel session di PHP, session harus di inisialisasi terlebih dahulu menggunakan fungsi session_start() dan fungsi tersebut harus dituliskan sebelum tag <html>
<?php session_start(); ?>
<html>
<body>
</body>
<html>
Fungsi tersebut akan mendaftarkan user ke server dan menetapkan id session (UID) untuk user.
Cara di PHP untuk menyimpan dan mengambil variabel session adalah dengan menggunakan variabel $ _SESSION
<?php
session_start();
//Menyimpan data sesi
$_SESSION['user'] = 'jack';
?>
Sedangkan jika ingin menghapus variabel session di server dapat menggunakan fungsi unset() atau session_destroy()
<?php
unset ($_SESSION['user']);
session_destroy();
?>
Fungsi unset() akan menghapus variabel session yang telah ditentukan saja, sedangkan fungsi session_destroy() akan menghapus semua session dan mengatur ulang session dari awal

Tidak ada komentar:

Posting Komentar