Buscar

Session

Sumber : Diktat Kuliah Pemograman Web 2  
(Achmad Solichin, achmatim@bl.ac.id)
Session merupakan hal yang cukuppenting dalam aplikasi berbasis web. Dengan session memungkinkan programmer menyimpan informasi user secara semi-permanen, artinya selama masa tertentu informasi akan tersimpan. Penyimpana isi variabel session berada di server, jadi tidak bisa diakses secara langsung oleh client.
Dalam aplikasi berbasis web, session banyak digunakan sebagai autentifikasi login. Dengan session memungknkan programmer mengatur siapa saja yang bisa mengakses suatu halaman. Misalnya saja, untuk melihat halaman kotak surat pada email, kita harus login terlebih dahulu. Dalam proses login antara lain akan terjadi pembuatan suatu session yang akan dibawa oleh user di setiap halaman. Di halaman kotak surat, session tersebut diperiksa. JIka session benar maka user dipersilahkan membuka halaman kotak surat dan biasanya akan diminta untuk login terlebih dahulu. Itulah sebabnya, user tidak bisa mengakses halaman kotak secara langsung tanpa melakukan login.
Dalam penanganan session terdapat beberapa proses yang perlu diperhatikan :  
  • Proses pembuatan session
  • Proses pemeriksaan session
  • Proses penghapusan session
Contoh Script sederhana :
1.  Nama File  : session01.php
     Deskripsi   : Program menciptakan session
   

<?php
/****************************************************
nama file : session01.php
Halaman ini merupakan halaman contoh penciptaan session.
Perintah session_start() harus ditaruh di perintah pertama tanpa spasi di depannya. 
Perintah session_start() harus ada pada setiap halaman yang berhubungan dengan session.
****************************************************/
session_start();
if(isset($_POST['Login'])){
	$user = $_POST['user'];
	$pass = $_POST['pass'];
	//periksa login
	if($user=="ventha" && $pass=="123"){
		//menciptakan session
		$_SESSION['login'] = $user;
		//menuju ke halaman pemeriksaan session
		echo "<h1>Anda berhasil LOGIN</h1>";
		echo "<h2>Klik <a href='session02.php'>di sini (session02.php)</a> 
			  untuk menuju ke halaman pemeriksaan session</h2>";
	}else{
		echo "<h1>Anda gagal LOGIN</h1>";	
	}
}else{
?></pre>
<pre class="html" name="code"><form action="" method="post">
        	<h2>Login Here</h2><table width="200" cellpadding="2" cellspacing="2">
  <tr>
    <td>Username</td>
    <td>:</td>
    <td><input type="text" name="user"></td>
  </tr>
  <tr>
    <td>Password</td>
    <td>:</td>
    <td><input type="password" name="pass"></td>
  </tr>
  <tr>
    <td colspan="3"><input type="submit" name="Login" value="Login"></td>
</tr>
</table>
   </form> </pre>
<pre class="php" name="code"><?
}
?>
2. Nama File  : session02.php    Deskripsi   : Program pemeriksaan session
<?php
/*****************************************************
nama file : session02.php
Halaman ini merupakan contoh halaman pemeriksaan session. Pemeriksaan session biasanya dilakukan jika suatu halaman memiliki akses terbatas. MIsalnya harus login terlebih dahulu.
******************************************************/
session_start();
//pemeriksaan session
if(isset($_SESSION['login'])){
	//jika sudah login
	//menamiplkan isi session
	echo "<h1>Selamat Datang ".$_SESSION['login']."</h1>";
	echo "<h2>Halaman ini hanya bisa diakses jika Anda sudah Login</h2>";
	echo "<h2>Klik <a href='session03.php'> disini (session03.php)</a> untuk LOGOUT</h2>";
}else{
	//session belum ada artinya belum login
	die("Anda belum login! Anda tidak berhak masuk ke halaman ini. Silahkan login <a href='session01.php'> di sini</a>");	
}
?>

3. Nama File  : session03.php
    Deskripsi   : Program menghapus session
<?php
/*****************************************************
nama file : session03.php
Halaman ini merupakan halaman logout, dimana kita menghapus session yang ada
******************************************************/

session_start();

if(isset($_SESSION['login'])){
	unset($_SESSION);
	session_destroy();
	
	echo "<h1>Anda sudah berhasil LOGOUT</h1>";
	echo "<h2>Klik <a href='session01.php'> disini</a> untuk LOGIN kembali</h2>";
	echo "<h2>Anda sekarang tidak bisa masuk ke halaman <a href='session01.php'> session02.php</a> lagi.</h2>";
}
?>

0 comments:

Posting Komentar