Huahhhh… nggak kerasa sebulan lebih kita tidak bersua dan bermesraan :D. Mohon maaf untuk visitor yang setia mengunjungi ilmuwebsite.com terdapat kelambatan dalam penyediaan artikel terbaru, ini dikarenakan sebagian besar staff memiliki kesibukan di dunia lain. Maksudnya di dunia nyata. :D. Sehingga mohon maaf sekali lagi, ilmuwebsite jadi terlantarkan. Untuk kedepannya kami semua mengusahakan agar setiap minggu artikel segar selalu hadir menjadi santapan bagi para web developer pemula hingga tingkat menengah yang laparrr sekali akan ilmu per-php-an. :D
Yups, back to topic, 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 :
<?php
session_start();
$_SESSION['lewat'] = 1;
?>
Kemudian buat sebuah file lagi dengan nama anotherpage.php :
<?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 :
<html> <head><title>Halaman Login...</title></head> <body> <form action="cek.php" method="POST"> <table> <tr><td>username : </td><td><input type="text" name="username"></td></tr> <tr><td>password : </td><td><input type="password" name="password"></td></tr> <tr><td></td><td><input type="submit" name="submit" value="Login"></td></tr> </table>
Kemudian file cek.php :
<?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 "<br><a href=edit.php>Edit Database ... </a>"; echo "<br><a href=logout.php>Logout ... </a>"; } 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 :
<?php session_start(); if (ISSET($_SESSION['userlogin'])) { echo "Silahkan mengedit database ... "; echo "<br><a href=logout.php>Logout ... </a>"; } else { echo("Anda tidak berhak untuk mengakses halaman ini ... "); } ?>
Yang terakhir adalah file logout.php :
<?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
Greetz :
b_scorpio ? --> proyek kita terhambat :( ,
phii_ --> ditunggu artikelnya secepatnya,
safril --> zine kita ... zine kita ...
my friend jojo and najwa ;)
Sumber dari situs Ilmu Website dalam kategori php kuliah dengan judul Passing variable menggunakan Session
Tidak ada komentar:
Posting Komentar
silahkan komentar anda