Membuat Login Level User dengan PHP

 Pada postingan kali ini adalah lanjutan dari postingan Membuat Signup dengan PHP . Sekarang adalah bagian posting cara membuat login level user dengan php. berikut skrip login level user :


Tidak perlu membuat database dan table, karena sudah dibuat pada postingan Membuat Signup dengan PHP . Sekarang hanya tinggal membuat skrip untuk form login dan proses login dengan php :

##1. Pertama buat form login

login.php :
...........

<!DOCTYPE html>

<html>

<head>

    <title>Login</title>

</head>

<body>

    <h2>Login</h2>

    <form action="login_process.php" method="POST">

        <label for="username">Username:</label>

        <input type="text" id="username" name="username" required><br>

        

        <label for="password">Password:</label>

        <input type="password" id="password" name="password" required><br>

        

        <input type="submit" value="Login">

    </form>

</body>

</html>

...........


##2. kedua buat proses login

login_process.php :
...........

<?php

session_start();

require 'koneksi.php';


if ($_SERVER["REQUEST_METHOD"] == "POST") {

    $username = $_POST['username'];

    $password = $_POST['password'];


    // Menggunakan prepared statement untuk menghindari SQL injection

    $stmt = $conn->prepare("SELECT id, username, password, user_level FROM users WHERE username = ?");

    if ($stmt === false) {

        die('Prepare failed: ' . htmlspecialchars($conn->error));

    }

    $stmt->bind_param("s", $username);

    $stmt->execute();

    $stmt->store_result(); // Menyimpan hasil untuk pemeriksaan num_rows

    $stmt->bind_result($id, $username, $hashed_password, $user_level);

    $stmt->fetch();


    if ($stmt->num_rows > 0) {

        if (password_verify($password, $hashed_password)) {

            $_SESSION['username'] = $username;

            $_SESSION['user_level'] = $user_level;

            header("Location: welcome.php");

        } else {

            echo "Password salah";

        }

    } else {

        echo "Username tidak ditemukan";

    }


    $stmt->close();

}


$conn->close();

?>

...........


##3. Ketiga buat halaman dashboard
welcome.php :

...........
<?php
session_start();

if (!isset($_SESSION['username'])) {
    header("Location: login.php");
    exit();
}

echo "<h2>Selamat datang, " . $_SESSION['username'] . "</h2>";

if ($_SESSION['user_level'] == 'admin') {
    echo "<p>Anda adalah Admin.</p>";
} else {
    echo "<p>Anda adalah User.</p>";
}
?>

<a href="logout.php">Logout</a>
...........


##4. Keempat buat proses logout
logout.php :

...........

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


Sekian cara membuat proses login level user dengan php. Semoga bermanfaat

No comments:

Post a Comment