Sistem Multi‑Role: Admin & User dengan Redirect Otomatis
👥 Tutorial PHP: Login dengan Role Admin & User (Redirect Otomatis)
Hai teman coder! Sudah punya sistem login? Yuk, tambahkan fitur role “admin” dan “user” dengan pengalihan otomatis setelah login. Cocok untuk aplikasi nyata seperti dashboard admin!
🔍 Apa yang Akan Kita Buat?

1. Update Struktur Tabel `users`
ALTER TABLE users
ADD COLUMN role ENUM('admin','user') NOT NULL DEFAULT 'user';
Tiap user sekarang punya kolom role
– bisa “admin” atau “user”. Default=“user”.
2. Update Registrasi (register.php
)
<?php
// ... koneksi dan form handling
$role = 'user'; // user biasa
$stmt = $conn->prepare(
"INSERT INTO users(username,email,password,role) VALUES(?,?,?,?)"
);
$stmt->bind_param("ssss",$u,$e,$p,$role);
// ...
?>
3. Login dan Redirect berdasarkan Role (login.php
)

<?php
session_start(); require 'config.php';
if($_SERVER['REQUEST_METHOD']=='POST'){
// cek username/email & password
$stmt = $conn->prepare(
"SELECT id,username,password,role FROM users WHERE username=? OR email=?"
);
$stmt->bind_param("ss",$ue,$ue);
$stmt->execute(); $res = $stmt->get_result();
if($res->num_rows===1){
$u = $res->fetch_assoc();
if(password_verify($p,$u['password'])){
session_regenerate_id();
$_SESSION = [
'user_id'=>$u['id'],
'username'=>$u['username'],
'role'=>$u['role']
];
// redirect otomatis
if($u['role']==='admin'){
header("Location: admin/dashboard.php");
} else {
header("Location: user/home.php");
}
exit;
}
}
$err="Login gagal!";
}
?>
4. Buat Dashboard untuk Admin/User
// admin/dashboard.php
session_start();
if($_SESSION['role']!=='admin') header("Location: ../login.php");
echo "<h2>Halo Admin, ".$_SESSION['username']."!</h2>";
// user/home.php
session_start();
if($_SESSION['role']!=='user') header("Location: ../login.php");
echo "<h2>Halo ".$_SESSION['username']."! Selamat datang di Home.</h2>";
5. Logout
// logout.php
session_start();
session_destroy();
header("Location: login.php");
exit;
6. Proteksi Halaman & Navigasi
- Gunakan `if($_SESSION['role']=='admin')` di semua admin-only page.
- Di halaman user, arahkan ke dashboard user. Bila bukan, kembali ke login.
- Sertakan menu & link logout di setiap dashboard.
🎯 Ringkasan
Dengan tambahan kolom role
dan logic redirect di login, kamu sudah punya sistem multi-role: admin & user. Tinggal kembangkan sesuai kebutuhan—misal halaman kelola konten, billing, dsb.
Mau saya lanjutkan ke part 5? Misal: menambahkan fitur super-admin, manajemen user list, atau middleware akses role khusus? Tuliskan ide kamu!
Posting Komentar untuk "Sistem Multi‑Role: Admin & User dengan Redirect Otomatis"
Posting Komentar