Selasa, Desember 23, 2008

Session Pada PHP

Pada dasarnya session adalah sebuah jalan untuk menjaga kondisi variable antar halaman web. Maksudnya variable yang disimpan dalam session akan dikenal di semua halaman web dengan syarat setiap awal dari script php dimulai dengan fungsi session_start().

Setelah pemanggilan session_start(), PHP meregisterkan sebuah Session ID (SID) yang unik, kemudian PHP akan membuat suatu file yang berhubungan di server yang dapat menyimpan sekumpulan variable. File ini memiliki nama sesusai dengan nama session ID.

Sekali session di buat, anda dapat meregisterkan beberapa variable. Nilai dari variable tersebut disimpan dalam file yang ada di server. Penregisteran variable adalah dengan menggunakan perintah session_register.

Fungsi-fungsi yang banyak dipakai dalam penanganan web page dengan session adalah :
  1. session_start() berfungsi untuk memulai/mengaktifkan session.
  2. session_register() berfungsi untuk mendaftarkan suatu variable ke dalam session. Parameter dari fungsi ini adalah nama variable yang akan disimpan di session.
  3. session_unregister() berfungsi untuk menghapus suatu variable yang disimpan di session.
  4. session_is_registered() berfungsi untuk memeriksa apakah suatu variable ada/terdaftar dalam session.
  5. session_unset() berfungsi untuk menghapus semua variable yang terdaftar dalam session.
  6. session_destroy() berfungsi untuk menutup/menghapus session beserta file sessionnya.

Contoh 1 :

Nama File : buatsession.php

session_start();
session_register("contohregister");
session_register("nama","kota");
$contohregister=0;
$nama="novan cool";
$kota="bandung";
echo "Session Telah dibuat";
?>

Jalankan dalam browser dengan alamat http://localhost/folderkamu/buatsession.php. Jika tidak ada error maka dalam browser akan ada tulisan “Session telah dibuat”. Untuk melihat file session, maka file session terletak di folder c:\apache\tmp jika anda menggunakan PHPTriad. Jika dibuka, maka akan berisi data seperti berikut :

contohregister|i:0;nama|s:14:"novan cool";kota|s:6:"bandung";

Itu menunjukan ada variable contohregister bertipe int (i), dengan isi 0, juga ada variable nama dengan tipe string (s) dengan panjang 14 karakter berisi “novan cool” dan ada pula variable kota bertipe string (s) dengan panjang 6 karakter berisi “bandung”.

Contoh 2 :

Nama File : testsession.php

session_start();
if(session_is_registered("nama"))
{
$contohregister++;
?>

Testing Session

Selamat datang
dari



Anda telah membuka halaman ini sebanyak
kali.


Klik Refresh untuk test lagi.



}
else
echo "Anda harus memanggil buat session dulu.";
?>

Panggil halaman tadi dengan alamat : http://localhost/folderkamu/testsession.php. Jika tidak ada error maka browser akan menampilkan “Selamat Datang novan cool dari bandung. Anda telah membuka halaman ini sebanyak 1 kali. Klik Refresh untuk test lagi.”.

Jika anda memanggil web page ini berulang kali, maka variable $banyakberkunjung akan bertambah terus. Itu menunjukan variable $banyakberkunjung dapat dipanggil di sembarang web page yang awal scriptnya dimulai dengan session_start().

Contoh 3 :
Nama File : hapussession.php

session_start();
session_unset();
session_destroy();
echo "Session telah dihapus";
?>

Jalankan di browser dengan alamat http://localhost/folderkamu/hapussession.php. Jika tidak ada kesalahan script ini akan menampilkanpesan Session telah dihapus. Ketika script mengeksekusi perintah session_destroy(), maka file yang berhubungan akan dihapus (lihat c:\apache\tmp).

Jika anda mencoba memanggil lagi file testsession.php, maka yang akan muncul adalah pesan bahwa “Anda harus memanggil buat session dulu.”.

0 komentar:


Free Blogspot Templates by Isnaini Dot Com. Supported by Muscle Car Photos. Powered by Blogger