Senin, 31 Desember 2012

►Membuat Form Login Untuk Membatasi Hak Akses Dengan Session PHP◄


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:

  1. session_start(), ditulis dibagian awal skrip agar data sesi yang ada di bawahnya dapat di kenali.
  2. $_SESSION[], berfungsi untuk menyimpan atau menampilkan data sesi.
  3. isset() atau session_is_registered(), digunakan untuk mengecek apakah data sesi sudah di set atau belum.
  4. session_register(), berfungsi untuk men-set data sesi.
  5. 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.
<?php
session_start();
//cek user logged in
if(!isset($_SESSION['username']) and !isset($_SESSION['password'])){
header('location:login.php')//ke halaman login
}
?>
Script Highlighter by magzimp.com - betha version
Jika data sesi belum di set, program akan di arahkan ke halaman login untuk men-set data sesi (username dan password) terlebih dahulu:
form-login
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>";
}
?>
Script Highlighter by magzimp.com - betha version
Jika user berhasil login (memasukan username dan password dengan tepat) data sesi akan di set dan user bersangkutan berhak masuk ke halaman users yang akan tampak seperti ini.
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();
?>
Script Highlighter by magzimp.com - betha version
Skrip selengkapnya dapat anda download disini.
–Selamat Mencoba–

http://www.magzimp.com/programming/membuat-form-login-untuk-membatasi-hak-akses-dengan-session-php/

Tidak ada komentar:

Posting Komentar