Tutorial PHP - Penggunaan Login dan Logout dengan Session PHP

Konsep login dan logout ini sebenarnya dan biasanya menggunakan dua metode yaitu dengan memanfaatkan cookie dan yang kedua dengan memanfaatkan session. Pada kesempatan ini saya akan coba bahas tentang bagaimana cara membuat proses login dan logout dengan memanfaatkan session di PHP. Sebelum kita mulai, ada beberapa hal yang mungkin perlu kita ketahui terkait dengan masalah login dengan session ini sebagai berikut

1. Biasanya proses login ini akan melibatkan minimal dua buah halaman website yaitu halaman login dan halaman Administrator website (halaman yang dituju setelah login). Jadi pastikan anda sudah membuat halaman tersebut.

2. Pada implementasinya, Penerapan metode ini tidak harus menggunakan Database, tapi pada contoh ini saya akan bahas dengan menggunakan database. Jadi pastikan anda sudah membuat sebuah database dan minimal memiliki sebuah tabel (tabel user)

3. Untuk keamanan, biasanya proses login akan dilengkapi dengan metode hashing (md5 atau sha1)

Contoh Login dan Logout dengan Session PHP

1. Pertama, Kita mulai dari database. berikut adalah contoh tabel yang saya gunakan jika dilihat dari phpmyadmin

Login dan Logout dengan Session PHP

2. Sebagai contoh, disini saya inputkan sebuah data user pada tabel tersebut dengan penerapan hashing pada password dengan sha1.

Login dan Logout dengan Session PHP

3. Seperti biasa, langkah berikutnya adalah melakukan koneksi ke Database yang telah kita buat sebelumnya dengan contoh script sebagai berikut
<?php 
 // Script Koneksi
 mysql_connect("localhost","root","");
 // Memilih Database
 mysql_select_db("login_logout");
?>
4. Selanjutnya Membuat Halaman Login yang akan digunakan oleh user untuk melakukan proses authentikasi (login) dengan contoh script sebagai berikut
<!DOCTYPE html>
<html>
 <head>
  <title>Contoh Login dan Logout dengan SESSION PHP</title>
 </head>
 
 <body>
 <form method="POST" action="">
 <table class="table">
  <tr>
   <td>Username</td><td><input type="text" name="user" required /></td>
  </tr>
  <tr>
   <td>Password</td><td><input type="password" name="pass" required /></td>
  </tr>
  <tr>
   <td colspan="3">
   <center>
   <input type="submit" value="Login" name="login"/> 
   <input type="reset" value="Hapus"/>
   </center>
   </td>
  </tr>
 </table>
 </form>
 </body>
</html>
5. Berikutnya adalah membuat sebuah proses login, Proses login ini akan kita letakan didalam script halaman login yang telah kita buat sebelumnya atau bisa juga disisipkan dengan metode include. Letakan script berikut tepat sebelum tag penutup </body>
<?php 
 session_start();
 // Sisipkan File Koneksi
 include "koneksi.php";
 // Jika Login
 if (isset($_POST['login'])){
 $user=$_POST['user'];
 // Hashing Password dengan Sha1
 $pass=sha1($_POST['pass']);
 // Mencari User yang cocok yang ada di tabel database
 $cek_user = mysql_query("SELECT * FROM user WHERE username = '$user' AND password = '$pass'");
 if (mysql_num_rows($cek_user)==1){
  $hasil = mysql_fetch_array($cek_user);
  // Simpan Session USER
        $_SESSION['user'] = $hasil['username'];;
  // Arahkan ke Halaman Admin
  header("location:admin/index.php");
  } else{
  echo "<center>ops, username atau password salah!</center>";
 }
 }
?>
6. Buat sebuah folder didalam folder projek anda dengan nama admin lalu buat sebuah file dalam folder tersebut dengan nama index.php. contoh script file sebagai berikut
<?php 
 session_start();
 // Cek Login Apakah Sudah Login atau Belum
 if (!isset($_SESSION['user'])){
  // Jika Tidak Arahkan Kembali ke Halaman Login
  header("location:../");
  } else {
?>
<!DOCTYPE HTML>
<html lang="en">
  <head>
  <title></title>
  </head>

 <body>
 Selamat Datang <?php echo $_SESSION['user']; ?> <b><a href="logout.php">Logout</a></b>
 </body>
</html>
<?php 
}
?>
7. Langkah Terakhir, Buat Sebuah File logout.php yang akan menghandel jika tombol logout diklik dengan contoh script sebagai berikut. letakan didalam folder admin
<?php 
/* Proses Logout :
   Hapus Session User Lalu Arahkan ke Halaman Login
*/
session_start();
session_destroy();
header("location:../");
?>
Silahkan coba dijalankan. Selain itu anda dapat coba mengakses langsung ke halaman admin (tanpa proses login) melalui address bar browser. maka akan langsung dialihkan ke halaman login.

Posting Komentar