Berikut adalah langkah-langkah dalam membuat multi role user (admin & user) dengan PHP dan MySQLi:
1. Buat database dan tabel
- Buat database dengan nama "multirole"
- Buat tabel dengan nama "users" dengan kolom-kolom sebagai berikut:
- id (primary key)
- username
- password
- role (admin atau user)
2. Buat file database.php
- Isi file dengan kode untuk menghubungkan ke database dan menyimpan informasi konfigurasi
```
<?php
// konfigurasi database
$db_host = "localhost";
$db_user = "root";
$db_pass = "";
$db_name = "multirole";
// menghubungkan ke database
$conn = mysqli_connect($db_host $db_user $db_pass $db_name);
// mengecek koneksi
if (!$conn) {
die("Koneksi gagal: " . mysqli_connect_error());
}
?>
```
3. Buat file login.php
- Isi file dengan form login
```
<?php
session_start();
include_once("database.php");
// cek apakah user sudah login atau belum
if (isset($_SESSION['username'])) {
if ($_SESSION['role'] == "admin") {
header("Location: admin/dashboard.php");
} else {
header("Location: home.php");
}
}
if (isset($_POST['submit'])) {
$username = $_POST['username'];
$password = $_POST['password'];
// query untuk mencari user
$sql = "SELECT * FROM users WHERE username = '$username' AND password = '$password'";
$result = mysqli_query($conn $sql);
if (mysqli_num_rows($result) == 1) {
$user = mysqli_fetch_assoc($result);
$_SESSION['username'] = $user['username'];
$_SESSION['role'] = $user['role'];
if ($user['role'] == "admin") {
header("Location: admin/dashboard.php");
} else {
header("Location: home.php");
}
} else {
$error = "Username atau password salah.";
}
}
?>
<!DOCTYPE html>
<html>
<head>
<title>Login</title>
</head>
<body>
<h1>Login</h1>
<?php if (isset($error)) { ?>
<p><?php echo $error; ?></p>
<?php } ?>
<form method="post">
<label>Username:</label>
<input type="text" name="username" required><br>
<label>Password:</label>
<input type="password" name="password" required><br>
<input type="submit" name="submit" value="Login">
</form>
</body>
</html>
```
4. Buat file logout.php
- Isi file dengan kode untuk menghapus session dan mengarahkan ke halaman login
```
<?php
session_start();
session_unset();
session_destroy();
header("Location: login.php");
?>
```
5. Buat file admin/dashboard.php
- Isi file dengan halaman dashboard untuk admin
```
<?php
session_start();
if (!isset($_SESSION['username']) || $_SESSION['role'] != "admin") {
header("Location: ../login.php");
}
?>
<!DOCTYPE html>
<html>
<head>
<title>Dashboard Admin</title>
</head>
<body>
<h1>Dashboard Admin</h1>
<p>Selamat datang <?php echo $_SESSION['username']; ?>!</p>
<a href="../logout.php">Logout</a>
</body>
</html>
```
6. Buat file home.php
- Isi file dengan halaman utama untuk user
```
<?php
session_start();
if (!isset($_SESSION['username']) || $_SESSION['role'] != "user") {
header("Location: login.php");
}
?>
<!DOCTYPE html>
<html>
<head>
<title>Home</title>
</head>
<body>
<h1>Home</h1>
<p>Selamat datang <?php echo $_SESSION['username']; ?>!</p>
<a href="logout.php">Logout</a>
</body>
</html>
```
Dengan langkah-langkah di atas Anda sudah berhasil membuat multi role user dengan PHP dan MySQLi. Silakan coba kode-kode tersebut dan sesuaikan dengan kebutuhan Anda.