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
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
gambar isi data user
Kode Program PHP
koneksi.php
login.php
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
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
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
menu_staff.php
logout.php
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
Hasil Login Admin
Hasil Login Staff
Login Sederhana Menggunakan PHP Session
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
gambar isi data user
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> <h1 align="center">Aplikasi Login Sederhana : PHP Session</h1> <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> <h1 align="center">Aplikasi Login Dengan Level Akses</h1> <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
Hasil Login Admin
Hasil Login Staff
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 :)
1 Comment for "Membuat Hak Akses User Menggunakan Level Dengan PHP dan MySQL"
Notice: Undefined index: login in C:\xampp\htdocs\apotek\index.php on line 4
kalo gini kenapa ya kak?