Membuat Form Login Untuk Membatasi Hak Akses Dengan Session PHP

Advertisements

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

}

?>

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>”;

}

?>

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();

?>

Skrip selengkapnya dapat anda download disini.

–Selamat Mencoba–


Advertisements
Related Posts Plugin for WordPress, Blogger...
Comments
  1. saktivan
  2. ucing
  3. chamey
    • Nanxz
  4. abang
  5. ical
  6. Nanxz
  7. sam_oyi
  8. Zulkifli Muhtar
  9. djaun
    • Nanxz
  10. djaun
  11. fauzi
    • Nanxz
  12. Sandi
    • damz
  13. zifank
    • Nanxz
  14. Afonso Martins
  15. reza
    • Nanxz
  16. Afrioni Online
    • Nanxz
  17. Revan
  18. Opick Amikom
  19. adit
  20. neobbe
  21. fuxnbums
  22. phohan
    • Nanxz
  23. abi reeha
  24. ardiant
  25. djsamm88
  26. kanita
    • Nanxz
  27. Toro
  28. Sisca
  29. hendrik
    • Nanxz
  30. yulie
  31. yendrifernando
  32. Jefry
  33. ali
  34. rojhieb
  35. ima

Leave a Reply

Your email address will not be published. Required fields are marked *