Senin, 09 Februari 2026

PROSES LOGIN DENGAN 3 ROLE ( admin, guru, siswa )

1. Perintah SQL Buat tabel users

CREATE TABLE users (

    id INT AUTO_INCREMENT PRIMARY KEY,

    username VARCHAR(50) NOT NULL,

    password VARCHAR(255) NOT NULL,

    role ENUM('admin','guru','siswa') NOT NULL

);

 

2. Script koneksi.php

<?php
$conn = mysqli_connect("localhost","root","","smk_digital");
if (!$conn) {
    die("Koneksi gagal: " . mysqli_connect_error());
}
?>


3. sript dari proses login

<?php
session_start();
include "koneksi.php";

if (isset($_POST['login'])) {

    $username = mysqli_real_escape_string($conn, $_POST['username']);
    $password = mysqli_real_escape_string($conn, $_POST['password']);

    $query = mysqli_query($conn, "SELECT * FROM users WHERE username='$username' AND password='$password'");
    $data = mysqli_fetch_assoc($query);
    $cek  = mysqli_num_rows($query);

    if ($cek > 0) {
        $_SESSION['username'] = $data['username'];
        $_SESSION['role']     = $data['role'];

        if ($data['role'] == "admin") {
            header("location:admin/index.php");
        } elseif ($data['role'] == "guru") {
            header("location:guru/index.php");
        } elseif ($data['role'] == "siswa") {
            header("location:siswa/index.php");
        }
    } else {
        echo "<script>alert('Username atau Password salah!');window.location='login.php';</script>";
    }
}
?>


4. buat file dengan nama session_start.php 

simpan di tiap-tiap folder admin, guru dan siswa

<?php
session_start();
if ($_SESSION['role'] != "admin") {
    header("location:../login.php");
}
?>


5. Buat Halaman dengan nama logout.php

simpan di tiap-tipa folder( admin, guru, siswa )

<?php
session_start();
session_destroy();
header("location:../login.php");
?>






Tidak ada komentar:

Posting Komentar

MANAJEMEN BASIS DATA (BACKUP)

MATERI: MANAJEMEN BASIS DATA (BACKUP) 🎯 Tujuan Pembelajaran Peserta didik mampu: Memahami konsep backup database Menjelaska...