Cara menggunakan user log php

Tuesday, October 29, 2019

Pada tutorial kali ini kita mengembangkan sourcecode program sebelumnya yaitu mengenai login sederhana menggunakan session pada PHP. Pada source login sederhana tersebut telah cukup memadai untuk dilanjutkan ke tahapan berikutnya yaitu hak akses user yang login. Bagi yang belum mengetahui tutorial login sederhana dapat mengaksesnya melalui link berikut:

Login Sederhana Menggunakan PHP Session

Cara menggunakan user log php

Pada dasarnya dalam artikel tersebut kita telah menggunakan session sebagai variabel yang digunakan untuk mengetahui apakah user tersebut telah login atau belum. Dengan demikian kita tinggal menambahkan variabel lain berupa level dimana value dari level diperoleh dari field level yang ada pada tabel user pada basis data yang kita gunakan. Mari kita mulai tutorialnya, step awal dimulai dari file-file yang dibutuhkan secara berurutan.

Tabel user pada database.

gambar struktur tabel user

Cara menggunakan user log php

gambar isi data user

Cara menggunakan user log php

Kode Program PHP

koneksi.php

<?php 
$host = "localhost";
$user = "root";
$pass = "";
$db   = "db_web";

$koneksi = mysqli_connect($host,$user,$pass,$db);
?>

Silahkan setting konfigurasi database sesuai dengan config server anda.

login.php

<!DOCTYPE html>
<html>
<head>
 <title>Aplikasi Login Sederhana</title>
 <style>
 body { font-family: verdana; font-size: 12px; }
 a { text-decoration: none; color: blue; }
 a:hover { color: green; }
 </style>
</head>
<body>
<h2 align="center">Aplikasi Login Sederhana : PHP Session</h2>
<hr>
<form action="login-proses.php" method="post">
<table width="300" border="0" align="center">
<tr>
 <td width="150">Username</td>
 <td>
  <input type="text" name="username" required>
 </td>
</tr>
<tr>
 <td width="150">Password</td>
 <td>
  <input type="password" name="password" required>
 </td>
</tr>
<tr>
 <td width="150"></td>
 <td>
  <input type="submit" value="login" required>
 </td>
</tr>
</table>
</form>
</body>
</html>

User dapat melakukan login dengan 2 akses yang pertama admin dan yang kedua adalah staff, username dan password dapat dilihat pada gambar tabel user

login-proses.php

<?php 
session_start();
include "koneksi.php";

$username = $_POST['username'];
$password = $_POST['password'];

//cek data
$sql = "SELECT * FROM user WHERE username='$username' ";
$qry = mysqli_query($koneksi,$sql);
$usr = mysqli_fetch_array($qry);

if( 
 md5($username) == md5($usr['username'])
 AND
 md5($password) == md5($usr['password'])
  )
{
 $_SESSION['iduser']   = $usr['iduser'];
 $_SESSION['username'] = $usr['username'];
 $_SESSION['nama']     = $usr['nama'];
 $_SESSION['level']    = $usr['level']
 $_SESSION['login']    = 1;
 $pesan = "Login berhasil, selamat datan $username";
} else {
 $pesan = "Login gagal, username atau password anda salah!";
}

?>
<script>
 alert('<?php echo $pesan;?>');
 location='index.php';
</script>

Perbedaan dengan login pada artikel adalah dengan menambahkan variabel $_SESSION['level'] yang digunakan nantinya pada percabangan di file index.php. level ini menjadi penentu menu-menu yang akan ditampilkan sesuai hak akses user tersebut.

index.php

<?php
session_start();
$login = $_SESSION['login'];
if($login == 1)
{
include "koneksi.php";
?>
<!DOCTYPE html>
<html>
<head>
 <title>Aplikasi Login Sederhana</title>
 <style>
 body { font-family: verdana; font-size: 12px; }
 a { text-decoration: none; color: blue; }
 a:hover { color: green; }
 </style>
</head>
<body>
<h2 align="center">Aplikasi Login Dengan Level Akses</h2>
<hr>
<?php 
$level = $_SESSION['level'];
if($level == 1) { include "menu_admin.php"; }
if($level == 2) { include "menu_staff.php"; }
?>
<hr>
<?php 
$nama     = $_SESSION['nama'];
$username = $_SESSION['username'];

echo "Selamat Datang $nama ($username) ";
?>
<hr>
</body>
</html>
<?php
}
else {
 include "login.php";
} 
?>

Pada halaman index.php ini terdapat perkembangan kode yaitu menambahkan kondisi percabangan hak akses user. dimana jika level == 1 maka menu admin akan ditampilkan sedangkan jika level == 2 maka menu staff yang akan ditampilkan.

menu_admin.php

<a href="index.php">Beranda</a> | 
<a href="index.php?menu=user">Data User</a> | 
<a href="index.php?menu=rekapitulasi">Data Rekapitulasi</a> | 
<a href="logout.php">Logout</a> | 

menu_staff.php

<a href="index.php">Beranda</a> | 
<a href="index.php?menu=absensi">Data Absensi</a> | 
<a href="logout.php">Logout</a> | 

logout.php

<?php 
session_start();
session_destroy();
?>
<script>
 alert('Logout berhasil');
 location='index.php';
</script>

Dengan sourcecode diatas maka kita telah dapat membuat sebuah login sederhana dengan hak akses yang berbeda melalui satu halaman form login yang sama. Selamat mengerjakannya ya

Hasil Program

Form Login

Cara menggunakan user log php

Hasil Login Admin

Cara menggunakan user log php

Hasil Login Staff

Cara menggunakan user log php


Labels: Aplikasi Web, login, PHP

Terima kasih telah membaca Membuat Hak Akses User Menggunakan Level Dengan PHP dan MySQL. Bila bermanfaat boleh di share yah :)