0
PHP Sessions
Posted by jujur
on
5:22 AM
Bab 19
PHP Sessions
Session
digunakan untuk menyimpan informasi mengenai, atau merubah setting dari sesi
seorang user. Variabel session menyimpan informasi mengenai seorang user, dan
menyediakan informasi tersebut pada seluruh halaman web pada suatu aplikasi .
Variabel Session PHP
Ketika kita membuat suatu aplikasi, kita membuka aplikasi tersebut kemudian melakukan beberapa perkerjaan hingga akhirnya menutup aplikasi tersebut. Aplikasi akan mengetahui siapa kita. Aplikasi mengetahui ketika kita mulai menjalankan aplikasi dan ketika kita menutup aplikasi tersebut. Tetapi pada aplikasi internet terdapat satu kesulitan, yaitu: web server tidak dapat mengetahui siapa user yang menggunakan aplikasinya dan apakah yang sedang kita lakukan karena alamat HTTP tidak menyimpan state aplikasi.
Mekanisme session pada PHP akan menyelesaikan permasalahan ini dengan cara memperbolehkan aplikasi untuk menyimpan informasi pada server untuk digunakan kemudian (contohnya: username, shopping items dll). Bagaimanapun, informasi session bersifat sementara dan akan dihapus setelah user meninggalkan situs yang digunakan. Jika kita membutuhkan informasi yang bersifat permanent, kita dapat menyimpan data pada database.
Session bekerja dengan cara membuat Unique ID (UID) untuk setiap user dan menyimpan variabel berdasarkan UID tersebut. UID disimpan baik pada cookie atau URL.
Memulai Session PHP (session_start())
Catatan: fungsi
session_start() harus ditulis sebelum tag <html>.
Program19-1.php
<?php session_start(); ?>
<html>
<body>
</body>
</html>
|
Kode
di atas akan mendaftarkan session user ke server, dan mengijinkan kita untuk
memulai menyimpan informasi user dan memebuat UID untuk session user tersebut.
Menyimpan Session Variabel
Cara
yang tepat untuk menyimpan dan mengambil variabel session adalah menggunakan
variabel $_SESSION:
Program19-2.php
<?php
session_start();
// store session data
$_SESSION['views']=1;
?>
<html>
<body>
<?php
//retrieve session data
echo "Pageviews=". $_SESSION['views'];
?>
</body>
</html>
|
Output:
Pageviews=1
|
Pada
contoh di bawah ini, kita akan membuat counter page-views sederhana. Fungsi
isset() akan melakukan pengecekan terhadap variabel “views” apakah telah
dibuat. Jika “views” telah tersedia, maka kita dapat melakukan proses
penambahan pada counter. Jika “views” tidak ada, maka kita akan membuat
variabel “views” dan mensetnya dengan 1.
Program19-3.php
<?php
session_start();
if(isset($_SESSION['views']))
$_SESSION['views']=$_SESSION['views']+1;
else
$_SESSION['views']=1;
echo "Views=". $_SESSION['views'];
?>
|
Menghapus Session
Jika
kita ingin menghapus beberapa data session, kita dapat menggunakan fungsi
unset() atau fungsi session_destroy().
Fungsi
unset() digunakan untuk membebaskan variabel session tertentu.
Program19-4.php
<?php
unset($_SESSION['views']);
?>
|
Kita
juga dapat menghapus keseluruhan session dengan menggunakan fungsi session_destroy().
Program19-5.php
<?php
session_destroy();
?>
|
Catatan:
session_destroy() akan me-reset session kita dan kita akan kehilangan seluruh data
session yang telah tersimpan.