Total Tayangan Halaman

Minggu, 08 Februari 2026

Peminjaman ALat Bootsrap 5

 1. Membuat laman login dan Register

index.php

<!DOCTYPE html>
<html lang="id">
<head>
    <meta charset="UTF-8">
    <title>Login | Peminjaman Alat</title>
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet">
</head>
<body class="bg-light">
<div class="container mt-5">
    <div class="row justify-content-center">
        <div class="col-md-4">
            <div class="card shadow">
                <div class="card-header text-center">
                    <h5>Login Sistem</h5>
                </div>
                <div class="card-body">
                    <form action="auth/proses_login.php" method="POST">
                        <div class="mb-3">
                            <label>Username</label>
                            <input type="text" name="username" class="form-control" required>
                        </div>
                        <div class="mb-3">
                            <label>Password</label>
                            <input type="password" name="password" class="form-control" required>
                        </div>
                        <button class="btn btn-primary w-100 mb-2">Login</button>
                        <div class="text-center">
                            Belum punya akun? <a href="register.php">Daftar disini</a>
                        </div>
                    </form>
                </div>
            </div>
        </div>
    </div>
</div>
</body>
</html>

register.php

<?php
session_start();
require "config/database.php";


if (isset($_POST['register'])) {
    $id = trim($_POST['id_nama']);
    $nama     = trim($_POST['nama']);
    $username = trim($_POST['username']);
    $password = $_POST['password'];
    $no_telp  = trim($_POST['no_telp'] ?? '');


    // Cek username sudah ada?
    $cek = $pdo->prepare("SELECT id_user FROM users WHERE username = ?");
    $cek->execute([$username]);
    if ($cek->rowCount() > 0) {
        echo "<script>alert('Username sudah digunakan!');</script>";
    } else if (empty($no_telp)) {
        echo "<script>alert('Nomor telp/WA harus diisi!');</script>";
    } else {
        // Ambil role peminjam
        $role = $pdo->query("SELECT id_role FROM roles WHERE nama_role='peminjam'")->fetch();
        if ($role) {
            $passHash = password_hash($password, PASSWORD_DEFAULT);
            $sql = $pdo->prepare("INSERT INTO users (nama, username, password, no_telp, id_role) VALUES (?, ?, ?, ?, ?)");
            $sql->execute([$nama, $username, $passHash, $no_telp, $role['id_role']]);


            echo "<script>
                alert('Registrasi berhasil! Silakan login.');
                window.location='index.php';
            </script>";
        } else {
            echo "<script>alert('Role peminjam belum tersedia. Hubungi admin!');</script>";
        }
    }
}
?>


<!DOCTYPE html>
<html lang="id">
<head>
    <meta charset="UTF-8">
    <title>Registrasi Peminjam</title>
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet">
</head>
<body class="bg-light">


<div class="container mt-5">
    <div class="row justify-content-center">
        <div class="col-md-5">
           
                <div class="card-header text-center">
                    <h5>Registrasi Akun Peminjam</h5>
                </div>
                <div class="mb-2">
                    <label>No KTP/SIM/Paspor</label>
                    <input type="text" name="id_nama" class="form-control" required>
                </div>  
                <div class="card-body">
                    <form method="POST">
                        <div class="mb-3">
                            <label>Nama Lengkap</label>
                            <input type="text" name="nama" class="form-control" required>
                        </div>


                        <div class="mb-3">
                            <label>Username</label>
                            <input type="text" name="username" class="form-control" required>
                        </div>
                        <div class="mb-3">
                            <label>Password</label>
                            <input type="password" name="password" class="form-control" required>
                        </div>
                        <div class="mb-3">
                            <label>Nomor Telp/WA <span class="text-danger">*</span></label>
                            <input type="tel" name="no_telp" class="form-control" placeholder="Contoh: 62812345678" required>
                            <small class="text-muted">Nomor yang aktif untuk dihubungi</small>
                        </div>
                        <button type="submit" name="register" class="btn btn-success w-100 mb-2">Daftar</button>
                        <a href="index.php" class="btn btn-secondary w-100">Kembali ke Login</a>
                    </form>
                </div>
            </div>
        </div>
    </div>
</div>


</body>
</html>

config/database.php

<?php
$host = "localhost";
$db   = "db_peminjaman_alat";
$user = "root";
$pass = "";

try {
    $pdo = new PDO(
        "mysql:host=$host;dbname=$db;charset=utf8",
        $user,
        $pass,
        [PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION]
    );
} catch (PDOException $e) {
    die("Koneksi gagal: " . $e->getMessage());
}
// Fungsi untuk mencatat aktivitas/log
function logAktivitas($pdo, $id_user, $user_role, $aksi, $id_peminjaman = null, $id_alat = null, $nama_alat = null, $stok_awal = 0, $stok_akhir = 0, $jumlah = 0, $status_lama = null, $status_baru = null, $keterangan = null) {
    try {
        // Ambil nama user
        $user = $pdo->prepare("SELECT nama FROM users WHERE id_user = ?");
        $user->execute([$id_user]);
        $nama_user = $user->fetchColumn() ?? 'Unknown';
       
        $sql = "INSERT INTO log_aktivitas (id_user, nama_user, user_role, aksi, id_peminjaman, id_alat, nama_alat, stok_awal, stok_akhir, jumlah, status_lama, status_baru, keterangan)
                VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
        $stmt = $pdo->prepare($sql);
        $stmt->execute([$id_user, $nama_user, $user_role, $aksi, $id_peminjaman, $id_alat, $nama_alat, $stok_awal, $stok_akhir, $jumlah, $status_lama, $status_baru, $keterangan]);
        return true;
    } catch (Exception $e) {
        // Log error ke error log atau silent fail
        return false;
    }
}

Auth/proses_login.php




<?php
session_start();
session_destroy();
header("Location: ../index.php");
exit;




Auth/logout.php

<?php
session_start();
session_destroy();
header("Location: ../index.php");
exit;


Assets/js/script.js


berikut struktur data UX
 
 

next login admin




Peminjaman ALat Bootsrap 5

 1. Membuat laman login dan Register index.php <!DOCTYPE html> <html lang="id"> <head>     <meta charset=...