menu

Jumat, 24 Juni 2011

Passing variable menggunakan Session


                         
banyak cara untuk melakukan passing variable. Sebentar sebentar, apa itu passing variable ? Passing variable itu sendiri memiliki arti melewatkan suatu variable. Untuk kali ini penulis hanya menjelaskan bagaimana melewatkan variable yang berbeda halaman.
Melewatkan variable yang berbeda halaman seperti ini biasanya diimplementasikan dalam sekuritas sebuah halaman. Boleh atau tidaknya suatu halaman diakses tergantung dari belum atau sudahnya suatu variable diregisterkan. Contoh nyatanya yaitu ketika seorang admin melakukan login dengan username dan password yang benar, maka akan diregisterkan sebuah variable yang nantinya digunakan sebagai key. Pengaksesan halaman lain memerlukan key yang dihasilkan dari login tersebut. Apabila didapatkan situasi ketika user belum login, maka halaman yang memerlukan variable yang diregisterkan ( dalam hal ini key ) akan melakukan redirect ke halaman lain yang memerintahkan user untuk melakukan kembali proses login dengan benar. Resminya hal seperti ini dapat dilakukan dengan 2 metode. Pertama menggunakan session dan yang kedua menggunakan cookies. Masing-masing memiliki kelemahan dan juga kelebihannya. Namun untuk artikel kali ini penulis hanya menjelaskan yang session saja.
Session merupakan sebuah metode yang dapat melewatkan suatu variable meskipun berbeda halaman. Session yang diregisterkan akan tetap ada sampai si user menutup browsernya. Sebagai contoh sederhananya, buat satu halaman dengan nama session.php kemudian registerkan sebuah variable :
session_start();
$_SESSION['lewat'] = 1;
?>
Kemudian buat sebuah file lagi dengan nama anotherpage.php :
session_start();
echo $_SESSION['lewat'] ;
?>
Anda buka halaman session.php terlebih dahulu, selanjutnya buka halaman anotherpage.php. Hasilnya :
1
Ini terjadi karena dalam file session.php telah diregisterkan sebuah variable session dengan nama lewat. Seperti pada baris ini
$_SESSION['lewat'] = 1;
Variable session ini berlaku untuk semua halaman yang ada karena sifatnya yang global.
Untuk men-set sebuah variable session dapat menggunakan cara yang lain :
$lewat = 1 ;
session_register(‘lewat’);
untuk mengakses session yang telah diregister tersebut cukup dengan :
echo $_SESSION[’lewat’];
Nah sekarang tutup browser anda, lalu buka kembali halaman anotherpage.php. Apa yang terjadi ? Betul, :D tidak ada yang ditampilkan karena secara otomatis sebuah session akan dibuang ketika browser diclose.
Untuk membuang atau mendelete sebuah session, cukup dengan menggunakan fungsi session_unset(’namasession’);
Contohnya :
session_unset($_SESSION['lewat']);
Untuk membuang semua session yang ada cukup dengan menggunakan fungsi session_destroy(); ini adalah fungsi kebalikan dari session_start();
Contoh implementasi yang lebih kompleks dari penggunaan session ini, penulis akan membuat sebuah script login, yang nantinya jika si user melakukan login dengan benar, maka dibolehkan untuk mengakses halaman yang berbeda sekalipun.
Namun persiapkan terlebih dahulu script-script yang dibutuhkan.
File login.html :
Halaman Login…


username :
password :
 
Kemudian file cek.php :
session_start();
if(!empty($_POST['username']) && !empty($_POST['password']))
{
        if ($_POST['username'] == “admin” && $_POST['password'] == “admin”)
            {
            $_SESSION['userlogin'] = 1 ;
            echo “Selamat Datang Admin”;
            echo “
Edit Database … “;

            echo “
Logout … “;

            }
        else
            {
            header(“location: login.html”);
            }
}
?>
Selanjutnya file edit.php, file ini mencontohkan sebuah halaman yang dapat diakses ketika user telah login dengan benar, dan sebuah session yang menjadi kunci telah diregister dan diterima :

session_start();
if (ISSET($_SESSION['userlogin']))
{
echo “Silahkan mengedit database … “;
echo “
Logout … “;

}
else
{
echo(“Anda tidak berhak untuk mengakses halaman ini … “);
}
?>
Yang terakhir adalah file logout.php :

session_start();
session_destroy();
header(“location: login.html”);
?>
Username dan password yang berasal dari halaman login.html akan diperiksa terlebih dahulu oleh file cek.php, terlihat di sini
Jika username dan passwordnya diisi oleh user …
if(!empty($_POST['username']) && !empty($_POST['password']))
{
Dan jika username dan passwordnya cocok … 
        if ($_POST['username'] == “admin” && $_POST['password'] == “admin”)
            {
Register sebuah variable session …
            $_SESSION['userlogin'] = 1 ;
            ….
Jika tidak …
        else
            {
User diperintahkan untuk melakukan login ulang …
            header(“location: login.html”);
            }
}
Kemudian dalam file edit.php dijelaskan bahwa,
halaman tersebut dapat diakses dengan syarat variable $_SESSION[’userlogin’] telah di register…

if (ISSET($_SESSION['userlogin']))
{
Yups, script ini dapat dikembangkan lebih jauh. Dan perlu dicatat, session tentunya sangat bermanfaat sekali, tidak terpatok hanya untuk sekuriti pada sebuah halaman saja, namun dalam bentuk yang lain tentunya. Ini tergantung dari kreatifitas anda dalam menggunakan session. Selamat mencoba. Selamat Mengembangkan. Dan selamat berbuka puasa pada waktunya nanti… :D~~
Script di atas dapat di download di sini

0 komentar:

Posting Komentar

Twitter Delicious Facebook Digg Stumbleupon Favorites More