DISKON TERBATAS! Masukkan kupon "skillbaru" saat checkout di kelas apa saja
Skodev
Belajar coding dalam bahasa Indonesia
Membuat fitur login yang membedakan antara admin dan user dalam sebuah aplikasi web adalah salah satu fungsi dasar untuk pengelolaan hak akses. PHP adalah salah satu bahasa pemrograman server-side yang sering digunakan untuk membuat sistem login ini. Berikut adalah cara membuat login admin dan user dengan PHP yang mudah dipahami bahkan untuk pemula sekalipun.
Sebelum memulai, pastikan kamu sudah memiliki server lokal (seperti XAMPP) atau server hosting yang mendukung PHP, serta editor kode seperti Notepad++ atau Visual Studio Code.
Pertama, kita perlu menyiapkan sebuah database yang akan menyimpan informasi login pengguna. Gunakan MySQL sebagai sistem manajemen database.
Tambahkan beberapa contoh data pengguna ke dalam tabel “users”, dengan membedakan value pada kolom role antara “admin” dan “user”.
Kemudian kita akan membuat sebuah form login sederhana yang akan mengolah input dari pengguna.
Buatlah sebuah file baru dengan nama “login.php” dan desain form login yang berisi dua field: username dan password, serta tombol submit.
<!DOCTYPE html>
<html>
<head>
<title>Login</title>
</head>
<body>
<form action="proses-login.php" method="post">
<label for="username">Username:</label>
<input type="text" name="username" required>
<br>
<label for="password">Password:</label>
<input type="password" name="password" required>
<br>
<button type="submit" name="login">Login</button>
</form>
</body>
</html>
Setelah mempunyai form login, selanjutnya kita perlu membuat sebuah script untuk memverifikasi data yang dikirim oleh pengguna.
Buat file “proses-login.php” yang akan menangani proses otentikasi pengguna. Pertama, koneksi ke database harus dibuat dengan membuat file “config.php”.
// config.php
<?php
$db = mysqli_connect("localhost", "username_db", "password_db", "db_login");
if (!$db) {
die("Koneksi gagal: " . mysqli_connect_error());
}
?>
Di dalam “proses-login.php”, kita akan memeriksa apakah username dan password yang dimasukkan sesuai dengan data yang ada di database.
// proses-login.php
<?php
session_start();
include "config.php";
$username = $_POST['username'];
$password = $_POST['password'];
$query = mysqli_query($db, "SELECT * FROM users WHERE username='$username' AND password='$password'");
$cek = mysqli_num_rows($query);
if($cek > 0){
$data = mysqli_fetch_assoc($query);
// Cek jika user login sebagai admin
if($data['role']=="admin"){
$_SESSION['username'] = $username;
$_SESSION['role'] = "admin";
header("location:admin.php");
// Cek jika user login sebagai user
}else if($data['role']=="user"){
$_SESSION['username'] = $username;
$_SESSION['role'] = "user";
header("location:user.php");
}
} else {
echo "Username atau password salah";
}
?>
Setelah login, pengguna akan diarahkan ke halaman yang berbeda sesuai dengan role mereka.
// admin.php
<?php
session_start();
if($_SESSION['role'] != "admin"){
header("location:login.php");
}
echo "Selamat datang Admin, " . $_SESSION['username'];
?>
// user.php
<?php
session_start();
if($_SESSION['role'] != "user"){
header("location:login.php");
}
echo "Selamat datang User, " . $_SESSION['username'];
?>
Dengan langkah-langkah di atas, kamu sudah berhasil membuat sistem login yang membedakan antara admin dan user. Selanjutnya kamu bisa mengembangkan lebih lanjut sesuai dengan kebutuhan aplikasi web yang kamu bangun. Selamat mencoba dan belajar!
Link terkait: