Membuat Pengecekan Terhadap Role
Penambahan Kode pada halaman login
<?php require __DIR__ . '/../includes/config.php'; ?>
<!DOCTYPE html>
<html lang="en">
<head>
<title>My Project</title>
<link href="/assets/vendor/bootstrap/css/bootstrap.min.css" rel="stylesheet">
<link href="/assets/css/style.css" rel="stylesheet">
</head>
<body class="d-flex align-items-center py-4">
<main class="form-signin w-50 m-auto">
<div class="container">
<div class="d-flex jusify-content-center">
<img class="mb-4 mx-auto text-center" src="/assets/img/kitakale-vertikal-logo.png" alt="" width="200">
</div>
<div class="card p-4">
<form action="" method="post">
<h1 class="h3 mb-3 fw-normal">Silahkan Login!</h1>
<div class="form-floating mb-3">
<input type="email" name="email" class="form-control" id="floatingInput" placeholder="[email protected]">
<label for="floatingInput">Email address</label>
</div>
<div class="form-floating mb-3">
<input type="password" name="password" class="form-control" id="floatingPassword" placeholder="Password">
<label for="floatingPassword">Password</label>
</div>
<button class="btn btn-primary w-100 py-2" type="submit">Sign in</button>
<p class="mt-5 mb-3 text-body-secondary text-center">© 2024 - copyright of wahyu</p>
</form>
</div>
</div>
</main>
<?php
session_start();
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$email = $_POST['email'];
$password = $_POST['password'];
$sql = "SELECT * FROM user WHERE Email = :email";
$stmt = $pdo->prepare($sql);
$stmt->bindParam(':email', $email);
$stmt->execute();
$user = $stmt->fetch(PDO::FETCH_ASSOC);
if ($user && password_verify($password, $user['Password'])) {
$_SESSION['UserID'] = $user['UserID'];
$_SESSION['Username'] = $user['Username'];
$_SESSION['UserRole'] = $user['Role'];
$_SESSION['UserEmail'] = $user['Email'];
$_SESSION['UserNamaLengkap'] = $user['NamaLengkap'];
echo "<script>alert('Berhasil masuk!'); window.location.replace('/index.php');</script>";
// Redirect to the dashboard or home page
} else {
echo "<script>alert('Invalid email or password.')</script>";
}
}
?>
</body>
</html>Membuat Pembagian Role
<?php
session_start();
// Cek apakah pengguna sudah login
$is_logged_in = isset($_SESSION['UserID']);
// Jika belum login, arahkan ke halaman login
if (!$is_logged_in) {
header('Location: /auth/login.php');
exit(); // Pastikan script berhenti dieksekusi setelah pengalihan
}
$currentPage = basename($_SERVER['PHP_SELF']);
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<title>My Project</title>
<link href="/assets/vendor/bootstrap/css/bootstrap.min.css" rel="stylesheet">
<link href="/assets/css/style.css" rel="stylesheet">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.6.0/css/all.min.css" integrity="sha512-Kc323vGBEqzTmouAECnVceyQqyqdsSiqLQISBL29aUW4U/M7pSPA/gEUZQqv1cwx4OnYxTxve5UMg5GT6L4JJg==" crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
<body>
<nav class="navbar bg-dark fixed-top navbar-expand-lg bg-body-tertiary sticky-md-top" data-bs-theme="dark">
<div class="container">
<a class="navbar-brand" href="#">
<img src="" width="100" alt="">
</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarText" aria-controls="navbarText" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarText">
<ul class="navbar-nav me-auto mb-2 mb-lg-0">
<li class="nav-item">
<a class="nav-link <?= ($currentPage == 'index.php') ? 'active' : ''; ?>" aria-current="page" href="/index.php"><i class="fa-solid fa-house-chimney"></i>Home</a>
</li>
<?php if ($_SESSION['UserRole'] === 'administrator') : ?>
<li class="nav-item">
<a class="nav-link" href="/views/data-pengguna">Data Pengguna</a>
</li>
<?php endif; ?>
<?php if ($_SESSION['UserRole'] === 'administrator' || $_SESSION['UserRole'] === 'petugas') : ?>
<li class="nav-item">
<a class="nav-link" href="/views/data-kategori-buku/index.php">Data Kategori</a>
</li>
<?php endif; ?>
<li class="nav-item">
<a class="nav-link" href="/views/data-buku/index.php">Data Buku</a>
</li>
<?php if ($_SESSION['UserRole'] === 'administrator' || $_SESSION['UserRole'] === 'peminjam') : ?>
<li class="nav-item">
<a class="nav-link" href="#">Data Peminjam</a>
</li>
<?php endif; ?>
<?php if ($_SESSION['UserRole'] === 'administrator' || $_SESSION['UserRole'] === 'petugas') : ?>
<li class="nav-item">
<a class="nav-link" href="#">Generate Laporan</a>
</li>
<?php endif; ?>
</ul>
<div class="navbar-text">
<a class="nav-link" href="/auth/logout.php">Sign Out</a>
</div>
</div>
</div>
</nav>
<main>
<div class="container mt-5">Last updated