Kali ini Anascode ingin membahas tentang penanganan dan pembuatan sission sederhana pada
PHP, tuisan ini dibuat untuk meluruskan penjelasan dari dosen
yang membuat session sebelum data benar – benar valid.
Ada beberapa teknik penggunaan session pada php namun yang ingin saya
jelaskan hanya contoh kecil saja. Session biasanya digunakan untuk
autentikasi user yang akan login ke sebuah website. Session dalam
penggunaan login harus dibuat ketika data (username dan password) match
alias sama.
Contoh:
Username : user
Password : pass
maka ketika seseorang masuk dengan username = user dan password =
pass session baru boleh dibuat ketika salah maka untuk memastikan tidak
ada user yang bernilai true maka session harus dihapus. Contoh
penggunaannya adalah sebagai berikut:
saya anggap anda sudah membuat form login dengan nama variable:
$user=$_POST['user'];
$pass=$_POST['pass']
Jadi cek login nya seperti ini:
<?php
$user=$_POST['user'];
$pass=$_POST['pass']
$d=mysql_fetch_array(mysql_query(“SELECT * FROM nama_table WHERE field_user=’$user’ “));
if($use==$d[field_user]){
if($pass==$d[field_password]){
session_start();
$_SESSION['username']=$d[field_user];
$_SESSION['level']=$d[field_level];
header(‘location: admin.php’);
}
else{
echo ‘Password salah’;
session_start();
session_destroy();
}
}
else{
echo ‘Username tidak ditemukan’;
include “frm_login.php”;
}
?>
Penjelasan:
Jadi ketika username ditemukan baru buat pernyataan jika password
sama dengan match (sama) maka buat session dengan nama
$_SESSION['username'] dan $_SESSION['level'] yang nilainya diambil dari
database ketika anda punya data di table_name:
field_username=user
field_password=user
field_level=admin
Maka ketika user login dengan username = user dan password=user. Maka value ession yang dibuat menjadi:
$_SESSION['username'] = bernilai “user”
$_SESSION['level'] = bernilai “admin”
Untuk membuktikannya silahkan anda cetak sesion tersebut.
Pertanyaanya bagaimana kalau halaman dibagi bagi berdasarkan level
user yang login? hm..pertanyaan bagus tuh..! prosedurnya hampir sama
dengan session diatas tapi ada beberapa pernyataan yang harus
ditambahkan setelah proses pembuatan session dibuat (dibaris
$_SESSION['level']=$d[field_level]; ) dengan asumsi:
if($_SESSION['level']==”admin”){
header(‘location: admin.php’);
}
else{
header(‘location: user.php’);
}
Jadi kerita ada user login dengan password dan username sesuai baru
dicek nilai levelnya. Jika level nya admin maka user akan dibawa
(redirect) ke halaman admin.php dan jika bernilai selain level admin
berarti user yang login dengan level user dan akan dibawa ke halaman
user.php.
Jadi jelas kan..penggunaan dalam cek login. terus cara memvalidasi
dihalaman user.php atau admin.php untuk memastikan yang login sesuai
dengan level caranya gimana? Hm..pertanyaan bagus lagi..he..he..
Jadi ketika sebuah
konten hanya ditujukan buat user atau admin maka dihalaman yang memerlukan autentikasi level user kita buat dulu kondisinya.
admin.php
<?php
//Script ini dibuat paling atas
session_start();
if($_SESSION['level']==”admin”){
//tampilkan konten admin disini, terserah mau konten apa
//
}
else{
echo ‘Anda login sebagai user dan tidak berhak melihat halaman ini’;
}
?>
Ok sampai disini pembahasan konsep session sederhana.
semoga bermanfaat.
salam Anascode.. ^.^