Tutorial Membuat Login Multi User Menggunakan PHP dan MySQL


Pada beberapa website memungkinkan adanya penggunaan beberapa user yang memiliki kewenangan yang berbeda – beda pada tiap user. Hal ini disebut dengan Login Multi Level User yaitu memiliki system login sesuai berdasarkan level pengguna

Pada tutorial ini akan membahas bagaimana membuat suatu sistem login multi level user. Untuk hal yang pertama dilakukan adalah membuat database pada MySQL yang berisi data user.

 Rancangan Database

Rancangan database terdiri dari 6 column yang berisi ID, Username, Password, Nama, Email, dan Level. Pada kolom Level menggunakan int karena nantinya akan menggunakan kode untuk menunjukan level user. Yaitu 1 untuk Administrator, 2 untuk Dosen, dan 3 untuk Mahasiswa

Pembuatan Website 


Terdapat 5 file yang nantinya akan kita buat yaitu halaman.php, logout.php, index.php, check-login.php, dan koneksi,php.
  1. Index.php : Halaman ini berisi input data username dan password serta level user yang akan digunakan
  2. check-login.php : Berisi proses verifikasi username dan password ke database yang akan diarahkan ke halaman tertentu
  3. halaman.php : Adalah halaman yang ditampilkan setelah proses check-login berhasil dilakukan
  4. logout.php : Menghilangkan session 
  5. koneksi.php : Berisi script untuk menghibungkan ke database MySQL
Untuk script dapat dilihat dibawah ini 

<?php
if(isset($_POST['login'])){
session_start();
include("database/koneksi.php");
$username = $_POST['username'];
$password = md5($_POST['password']);
$level = $_POST['level'];
$query = mysqli_query($koneksi, "SELECT * FROM users WHERE username='$username' AND password='$password'");
if(mysqli_num_rows($query) == 0){
echo '<div class="alert alert-danger">Upss...!!! Login gagal.</div>';
}else{
$row = mysqli_fetch_assoc($query);
if($row['level'] == 1 && $level == 1){
$_SESSION['username']=$username;
$_SESSION['level']='admin';
echo $_SESSION['username'];
header("Location: halaman.php");
}else if($row['level'] == 2 && $level == 2){
$_SESSION['username']=$username;
$_SESSION['level']='dosen';
header("Location: halaman.php");
}else if($row['level'] == 3 && $level == 3){
$_SESSION['username']=$username;
$_SESSION['level']='mahasiswa';
header("Location: halaman.php");
}else{
echo '<div class="alert alert-danger">Upss...!!! Login gagal.</div>';
header("Location: login.php");
}
}
}
?>
view raw check-login.php hosted with ❤ by GitHub
<?php
session_start();
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Halaman User</title>
<link href="assets/css/bootstrap.min.css" rel="stylesheet">
<link href="assets/css/style.css" rel="stylesheet">
</head>
<body>
<div class="col-md-4 col-md-offset-4 form-login">
<div class="outter-form-login">
<center><h2>Log In Multi User</h2></center>
<br>
<center><h3>Username: <?php echo $_SESSION['username']; ?><br>
Level: <?php echo $_SESSION['level']; ?></h3></center>
<br>
<center><p><a href="logout.php" class="btn btn-primary" onclick="return confirm('Yakin ingin Logout?')">Log out</a></p></center>
</div>
</div>
<script src="assets/js/jquery.min.js"></script>
<script src="assets/js/bootstrap.min.js"></script>
</body>
</html>
view raw halaman.php hosted with ❤ by GitHub
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Halaman Login</title>
<link href="assets/css/bootstrap.min.css" rel="stylesheet">
<link href="assets/css/style.css" rel="stylesheet">
</head>
<body>
<div class="col-md-4 col-md-offset-4 form-login">
<div class="outter-form-login">
<center><h2>Log In Multi User</h2></center>
<br>
<form role="form" action="check-login.php" method="post">
<div class="form-group">
<input type="text" name="username" class="form-control" placeholder="Username" required autofocus />
</div>
<div class="form-group">
<input type="password" name="password" class="form-control" placeholder="Password" required autofocus />
</div>
<div class="form-group">
<select name="level" class="form-control" required>
<option value="">Pilih Level User</option>
<option value="1">Administrator</option>
<option value="2">Dosen</option>
<option value="3">Mahasiswa</option>
</select>
</div>
<div class="form-group">
<input type="submit" name="login" class="btn btn-primary btn-block" value="Log me in" />
</div>
</form>
</div>
</div>
<script src="assets/js/jquery.min.js"></script>
<script src="assets/js/bootstrap.min.js"></script>
</body>
</html>
view raw index.php hosted with ❤ by GitHub
<?php
$db_host = "localhost";
$db_user = "root";
$db_pass = "";
$db_name = "ntech_login";
$koneksi = mysqli_connect($db_host, $db_user, $db_pass, $db_name);
if(mysqli_connect_errno()){
echo 'Gagal melakukan koneksi ke Database : '.mysqli_connect_error();
}
?>
view raw koneksi.php hosted with ❤ by GitHub
<?php
session_start();
session_destroy();
header("Location: index.php");
?>
view raw logout.php hosted with ❤ by GitHub

Berikut adalah contoh script yang digunakan untuk membuat system login multi user menggunakan PHP dan MySQL. Jika masih kesulitan tinggalkan komen pada kolom komentar dan full script dapat diunduh disini

1 komentar:

  1. Kak ini knp ya login gagal terus padahal script nya pas udh bkin db langsung dijalanin (sya script nya download dri website ini)

    BalasHapus

Diberdayakan oleh Blogger.