Form Login Dengan Hak akses Member

Posted on Updated on


Sebuah variabel session di PHP digunakan untuk menyimpan informasi user di dalam server. Variabel session dapat di panggil atau di tampilkan di seluruh halaman web. Berikut adalah beberapa fungsi yang akan berkaitan dengan session:session_start(), ditulis dibagian awal skrip agar data sesi yang ada di bawahnya dapat di kenali.
$_SESSION[], berfungsi untuk menyimpan atau menampilkan data sesi. isset() atau session_is_registered(), digunakan untuk mengecek apakah data sesi sudah di set atau belum. session_register(), berfungsi untuk men-set data sesi.session_destroy() atau unset($_SESSION[]), berfungsi untuk menghapus data sesi.

Contoh berikut merupakan kelanjutan dari Koneksi dan Manipulasi Data mySQL Database yang di modifikasi bahwa tidak setiap orang berhak mengakses halaman tersebut melainkan hanya user tertentu (memiliki username dan password). Table users dalam database database_ku harus diisi minimal dengan satu orang data user terlebih dahulu sebelum uraian program di bawah di terapkan.

Untuk mengecek data sesi, skrip berikut harus di tempatkan dibagian awal tiap halaman web/setiap file.

<?phpsession_start();

//cek user logged in

if(!isset($_SESSION[‘username’]) and !isset($_SESSION[‘password’])){

header(‘location:login.php’); //ke halaman login

}

?>

 

Jika data sesi belum di set, program akan di arahkan ke halaman login untuk men-set data sesi (username dan password) terlebih dahulu:

Berikut adalah contoh  skrip untuk menge-cek user yang login/ketika user menekan tombol Login:

 

<?php//cek username dan password user dalam table users database

$username =$_POST[‘username’];

$password =md5($_POST[‘password’]);

$query =mysql_query(“SELECT * FROM users WHERE username=’$username’ AND password=’$password'”);

$data_user =mysql_fetch_array($query);

if($data_user[‘username’] == $username and $data_user[‘password’] == $password){

//men-set data sesi username dan password

session_register(‘username’,’password’);

header(‘location:index.php’);

}else {

//penanganan error

$error =””;

if(empty($username) and empty($_POST[‘password’])){

$error =”<b>Username</b> dan <b>Password</b> kosong”;

}else if(empty($username)){

$error =”<b>Username</b> kosong”;

}else if(empty($_POST[‘password’])){

$error =”<b>Password</b> kosong”;

}else{

$error =”<b>Username</b> dan <b>Password</b> tidak sesuai”;

}

echo “<h3>Login Gagal:</h3><p>$error. <br /><a href=’login.php’>Kembali</a><p>”;

}

?>

Jika user berhasil login (memasukan username dan password dengan tepat) data sesi akan di set dan user bersangkutan berhak masuk ke halaman users .

Fungsi session_destroy() dipanggil ketika user bersangkutan memilih link/button logout yang kemudian program akan diarahkan kembali ke halaman login:

<?php//menghapus data sesi

session_destroy();

?>

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s