May 8, 2012

PHP Session

Sebuah variabel PHP Sessions digunakan untuk menyimpan informasi, atau mengubah pengaturan untuk pengguna. Variabel session menyimpan informasi tentang satu pengguna tunggal, untuk semua halaman dalam satu aplikasi.

PHP Session Variables

Ketika anda bekerja dengan sebuah aplikasi, anda membukanya, melakukan beberapa perubahan dan kemudian anda menutupnya. Ini mirip seperti sebuah Session. Komputer tahu siapa anda. Ia tahu kapan Anda memulai aplikasi dan kapan anda mengakhirinya. Tapi di internet ada satu masalah, web server tidak tahu siapa anda dan apa yang anda lakukan. Sebuah session PHP memecahkan masalah ini dengan memungkinkan anda untuk menyimpan informasi pengguna pada server untuk digunakan kemudian (yaitu nama pengguna, belanja barang, dll). Namun, informasi session bersifat sementara dan akan dihapus setelah pengguna telah meninggalkan situs web. Jika anda membutuhkan penyimpanan permanen anda harus menyimpan data dalam database. Session bekerja dengan menciptakan sebuah id unik (UID) untuk setiap pengunjung dan menyimpan variabel berdasarkan UID ini. UID disimpan baik dalam cookie atau disebarkan dalam URL. 

Starting a PHP Session

Sebelum Anda dapat menyimpan informasi pengguna dalam session PHP, Anda harus terlebih dahulu memulai session.  
Catatan: Fungsi session_start() harus muncul SEBELUM tag <html>:
 
<?php session_start(); ?>
<html>
<body>  

</body>
</html>
Kode di atas akan mendaftarkan session pengguna pada server, memungkinkan anda untuk memulai menyimpan informasi pengguna, dan menetapkan UID untuk sesi pengguna.

Storing a Session Variable

Cara yang benar untuk menyimpan dan mengambil variabel session adalah dengan menggunakan variabel $_SESSION 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, kita membuat counter tampilan halaman sederhana. Para fungsi isset() memeriksa jika "views" variabel sudah diatur. Jika "views" telah ditetapkan, kita dapat menaikkan counter. Jika "views" tidak ada, kita menciptakan sebuah "views" variabel, dan diset ke 1:
 
<?php  
session_start();  

if(isset($_SESSION['views']))
$_SESSION['views']=$_SESSION['views']+1;
else $_SESSION['views']=1;  
echo``Views=`` $_SESSION['views'];

?>

Destroying a Session

Jika anda ingin menghapus beberapa data session, anda dapat menggunakan fungsiunset() atau session_destroy(). Unset() adalah fungsi yang digunakan untuk membebaskan variabel session yang ditentukan:
 
<?php unset($_SESSION['views']); ?>
Anda juga dapat benar-benar menghapus session dengan memanggil fungsi session_destroy():
 
<?php session_destroy(); ?>
Catatan: session_destroy() akan mengatur ulang session dan akan menghilangkan semua data yang tersimpan pada session.  
Ref : 
www.w3schools.com