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 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> <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 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 :) |