Aku baru saja mengenali seseorang melalui Yahoo! Messenger. Ini kenalan Bazet. Namanya Ija. Menurut Bazet, dia akan merujuk nama aku bila ada kenalan perempuan yang hendak belajar tentang PHP. Aku tidaklah pandai sangat, tetapi bolehlah kalau hendak berkongsi ilmu yang aku tahu. Ilmu aku ni macam setitik dakwat nak kering berbanding air lautan. :)
Untuk Ija, nota Session ini khas untuk awak. Mengapa Session? Session digunakan untuk menyimpan informasi dari server supaya ia boleh digunakan apabila perlu. Contoh informasi adalah nama pengguna dan password.
Menggunakan Session
Katalah kita hendak menyimpan informasi pengguna setelah dia login. Kita juga mahu menggunakan informasi itu di laman-laman lain. Kita boleh menggunakan Session dalam PHP untuk memanggil informasi itu kemudian.
Laman Login (login.php)
Pada laman login, taipkan seperti berikut:
<?php
// Apabila berjaya login, mulakan session
session_start();
// assign username value
$_SESSION['user']['username'] = $username;
$_SESSION['user']['status'] = "login";
// letakkan nilai level cth: admin, pelajar, ibubapa, guru
$_SESSION['user']['level'] = $user_level;
?>
Kita boleh letak apa sahaja nilai di dalam session kita yang dirasakan perlu. Kita gunakan $_SESSION sama seperti kita menggunakan Array, samada Single Array atau Multi-dimensional Array.
Laman Pemanggil
Pada laman pemanggil, contohnya laman admin.php, kita boleh terus memanggil nilai session yang kita perlukan. Sebagai contoh, sekiranya laman tersebut adalah laman admin dan kita ingin memaparkan nama pengguna, lihat di bawah ini.
<?php
// Jangan lupa mulakan session.
// Kalau tak, value tak keluar
session_start();
if ($_SESSION['user']['status'] == "login") {
print "SELAMAT DATANG".$_SESSION['user']['username'];
}
?>
Logout
Bila pengguna logout, kita mesti musnahkan session supaya segala informasi tadi akan terpadam. Apabila kita memusnahkan session, ia hanya memadam informasi semasa yang digunakan, tetapi tidak global variable yang telah kita declare. Panggil sahaja function di bawah.
<?php
session_destroy();
?>
Sekian nota untuk kali ini.
