Pendahuluan
Session adalah suatu cara agar suatu variable dapat
diakses dibanyak halaman web. Session biasanya berupa file yang tersimpan di
server, berbeda dengan Cookies yang disimpan di client.
Session bersifat uniq dari setiap pengunjung. jadi
seandainya pengunjung bernama "lioniel" maka session yang dimiliki
lioniel adalah 1 dan selanjutnya begitu. uniq id akan dikirim dan disimpan pada
cookies atau pada URL.
Secara umum, session
digunakan untuk menyimpan suatu informasi antar proses request, baik request
dalam bentuk POST atau GET.
Dalam PHP session dapat
dimulai dengan dua cara, yaitu secara otomatis dan menggunakan fungsi script
session pada PHP. Untuk memulai session otomatis, file php.ini perlu di edit
pada baris session.auto_start = 0 menjadi session.auto_start
= 1 simpan perubahan tersebut dan restart web server.
Membuat
satu halaman dengan nama session.php kemudian registerkan sebuah variable :
<?php
session_start();
$_SESSION[’lewat’] = 1;
?>
session_start();
$_SESSION[’lewat’] = 1;
?>
Kemudian buat sebuah file lagi dengan nama
anotherpage.php :
<?php
session_start();
echo $_SESSION[’lewat’] ;
?>
<?php
session_start();
echo $_SESSION[’lewat’] ;
?>
Beberapa Jenis Session dalam PHP
1
Ada beberapa cara yang dapat
dilakukan untuk memulai sebuah session. Yang pertama adalah dengan menetapkan
nilai session.auto_start
di php.ini menjadi 1 atau on. Dengan demikian maka setiap sebuah aplikasi yang
dibangun dengan PHP diakses, seketika itu pulalah sebuah session akan otomatis
"aktif". Namun sekalipun
cara ini tidak salah, tetapi amat sangat tidak dianjurkan. Mengapa? Karena
secara default nilai session.auto_start di php.ini adalah 0 atau off. Anda memang bisa
mengedit php.ini di komputer Anda, akan tetapi bila suatu ketika Anda harus
melakukan web hosting di tempat lain, Anda tentu tidak berhak mengubah file
php.ini di web server tersebut. Dan jika php.ini di server tersebut dibiarkan
default apa adanya, maka aplikasi Anda tidak akan berjalan baik di server
tersebut.
Untuk itu dianjurkan menggunakan cara lain dalam mengaktifkan sebuah session.
Ada dua cara yang dapat digunakan dalam mengaktifkan session tanpa mengedit
php.ini, yaitu secara eksplisit dan secara implisit. Pengaktifan session secara
eksplisit dilakukan dengan fungsi session_start(), sedangkan secara implisit menggunakan
fungsi session_register().
Penggunaan
fungsi session_start() tentunya jelas. Dengan menjalankan fungsi tersebut, maka
sebuah session akan dimulai. Fungsi ini tidak memerlukan parameter apapun,
sehingga sintaks penggunaanya adalah dengan langsung saja menuliskan fungsi session_start() tersebut. Sedangkan fungsi session_register() pada prinsipnya adalah
"mendaftarkan" variabel sehingga variabel-variabel tersebut akan
dikenal sepanjang sebuah session sekaligus memulai sebuah session apabila belum
dimulai. Sintaks penggunaan fungsi session_register() adalah sebagai berikut:
session_register(variabel1[,variabel2[,...]])
Harap
diperhatikan, nama variabel di sini ditulis tanpa tanda $ di depannya. Setelah
sebuah variabel di register, maka otomatis variabel tersebut akan menjadi
variabel session. Contoh:
session_register("var1")
Nantinya
dalam rangkaian aplikasi web tersebut, variabel $var1 akan dikenal sebagai
variabel session dan bersifat global. Namun sayangnya hal ini tidak lagi
berlaku sejak PHP 4.2.0 dan diatasnya, karena nilai register_globals di php.ini
adalah off. Sebelum PHP 4.2.0 nilai register_globals adalah on. Sebagai
gantinya, PHP memperkenalkan superglobals array untuk menangkap
variabel-variabel session tersebut. Superglobal arrays tersebut adalah $_SESSION. Sebelum versi 4.0.6 Anda juga dapat
menggunakan $HTTP_SESSION_VARS.
Kedua array ini bersifat asosiatif dan sebagai
indeksnya adalah nama dari variabel session yang hendak digunakan. Sebagai akibat dari perubahan ini, maka
fungsi session_register() tidak lagi diperlukan. Efek dominonya, fungsi session_unregister() dan session_is_registered() juga tidak lagi diperlukan. Fungsi session_unregister() adalah kebalikan dari fungsi
session_register(), yaitu untuk "mencabut" variabel dari sebuah
session, sedangkan fungsi session_is_registered() digunakan untuk memeriksa
apakah sebuah variabel pernah didaftarkan pada sebuah session atau tidak.
Contoh Penggunaan Session PHP
Berikut
ini akan diberikan contoh penggunaan session. Kita akan memanfaatkan contoh
Artikel sebelumnya yaitu buat_form.html dan proses.php. Biarkan file
buat_form.html seperti apa adanya sedangkan file proses.php di edit menjadi
sebagai berikut:
<?php session_start(); ?>
<HTML>
<HEAD>
<TITLE> Fungsi Session </TITLE>
</HEAD>
<BODY>
<HEAD>
<TITLE> Fungsi Session </TITLE>
</HEAD>
<BODY>
<?php
$_SESSION['nama'] = $_POST['nama'];
$_SESSION['umur'] = $_POST['umur'];
$_SESSION['email'] = $_POST['email'];
$_SESSION['waktu'] = date("H:s:i");
?>
<h1> Hallo <?=$_SESSION['nama']?> </h1>
<h2> Selamat Datang di situs Saya </h2>
$_SESSION['nama'] = $_POST['nama'];
$_SESSION['umur'] = $_POST['umur'];
$_SESSION['email'] = $_POST['email'];
$_SESSION['waktu'] = date("H:s:i");
?>
<h1> Hallo <?=$_SESSION['nama']?> </h1>
<h2> Selamat Datang di situs Saya </h2>
Umur Anda saat ini
adalah <?=$_SESSION['umur']?> tahun <br />
Alamat email Anda
adalah <?=$_SESSION['email']?> <br />
Anda login pada jam
<?=$_SESSION['waktu']?> <br />
<a
href="http://localhost/next.php"> Klik di sini </a> untuk
menuju ke halaman berikut.
</BODY></HTML>
yuhuuu...bermanfaat sekali
BalasHapuspemotong simcard