Rimba Store – Cara membuat fitur login administrator PHP yang membedakan antara admin dan user dalam sebuah aplikasi web adalah salah satu fungsi dasar untuk pengelolaan hak akses. PHP, sebagai bahasa pemrograman server-side yang populer, sangat ideal untuk membuat sistem login ini karena mudah digunakan dan didukung oleh banyak server.
Cara Membuat Login Admin dan User dengan PHP
Dalam panduan ini, kita akan membuat sistem login sederhana menggunakan PHP dan MySQL yang dapat mengenali perbedaan antara pengguna dengan peran “admin” dan “user”. Tutorial ini dirancang agar mudah dipahami, bahkan untuk pemula sekalipun.
1. Persiapan Awal
Sebelum memulai, pastikan Anda telah menginstal server lokal seperti XAMPP atau server hosting yang mendukung PHP, serta memiliki editor kode seperti Notepad++ atau Visual Studio Code. Selanjutnya, ikuti langkah-langkah di bawah ini:
2. Persiapan Database
Pertama, kita perlu membuat sebuah database untuk menyimpan informasi login pengguna. Dalam tutorial ini, kita akan menggunakan MySQL sebagai sistem manajemen database.
Langkah-langkah Membuat Database:
- Buka phpMyAdmin melalui browser Anda.
- Buat database baru dengan nama db_login.
- Di dalam database db_login, buat tabel bernama users dengan struktur berikut:
id (INT, Primary Key, Auto Increment)
username (VARCHAR, untuk menyimpan nama pengguna)
password (VARCHAR, untuk menyimpan kata sandi pengguna)
role (VARCHAR, untuk menyimpan peran pengguna, misalnya “admin” atau “user”) - Tambahkan beberapa data pengguna pada tabel users, dengan perbedaan pada kolom role untuk mengidentifikasi apakah pengguna tersebut adalah “admin” atau “user”.
3. Membuat Form Login
Langkah berikutnya adalah membuat form login yang akan mengumpulkan data dari pengguna.
Langkah-langkah Membuat Form Login:
Buat file baru dengan nama login.php dan isi dengan kode berikut:
<!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>
Form ini akan mengirimkan data username dan password ke file proses-login.php untuk diproses lebih lanjut.
4. Proses Otentikasi
Setelah membuat form login, kita perlu membuat script PHP untuk memverifikasi data yang dimasukkan oleh pengguna.
Langkah-langkah Membuat Koneksi Database:
Buat file bernama config.php untuk mengatur koneksi ke database MySQL.
// config.php
<?php
$db = mysqli_connect(“localhost”, “username_db”, “password_db”, “db_login”);
if (!$db) {
die(“Koneksi gagal: ” . mysqli_connect_error());
}
?>
Gantilah username_db dan password_db dengan kredensial database Anda.
Langkah-langkah Membuat File Otentikasi Login:
Buat file proses-login.php untuk menangani proses otentikasi pengguna.
// proses-login.php
<?php
session_start();
include “config.php”;$username = $_POST[‘username’];
$password = $_POST[‘password’];// Query untuk memeriksa username dan 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”);// Jika role tidak ditemukan
}else{
echo “Role tidak ditemukan!”;
}
}else{
echo “Username atau password salah”;
}
?>
5. Membuat Halaman Admin dan User
Buat halaman yang sesuai untuk admin dan user berdasarkan role mereka setelah berhasil login.
Membuat Halaman Admin (admin.php):
// admin.php
<?php
session_start();
if($_SESSION[‘role’] != “admin”){
header(“location:login.php”);
exit();
}echo “Selamat datang Admin, ” . $_SESSION[‘username’];
?>
Membuat Halaman User (user.php):
// user.php
<?php
session_start();
if($_SESSION[‘role’] != “user”){
header(“location:login.php”);
exit();
}echo “Selamat datang User, ” . $_SESSION[‘username’];
?>
6. Mengembangkan Sistem Lebih Lanjut
Anda dapat mengembangkan fitur login ini lebih lanjut dengan beberapa tambahan berikut:
- Enkripsi Password: Gunakan fungsi password_hash() untuk mengenkripsi password saat disimpan di database, dan password_verify() untuk memeriksa kesesuaian password saat login.
- Validasi Input: Terapkan validasi input untuk menghindari serangan injeksi SQL (SQL Injection).
- Fitur Logout: Tambahkan fitur logout dengan menghapus data sesi pengguna menggunakan session_destroy().
Dengan mengikuti langkah-langkah di atas, Anda telah berhasil membuat sistem login sederhana menggunakan PHP yang membedakan antara pengguna dengan peran admin dan user.
Anda dapat mengembangkan lebih lanjut dengan menambahkan fitur-fitur keamanan dan fungsionalitas tambahan sesuai kebutuhan aplikasi web Anda. Selamat mencoba dan terus belajar untuk meningkatkan kemampuan Anda dalam pengembangan web.
Sumber: Skodev