Project Web 01 Kode Login.php

 <?php

// login.php


session_start(); // Mulai session jika belum dimulai


// Redirect jika sudah login


if (isset($_SESSION['user_id'])) {

    header("index.php");

    exit();

}


// Sertakan file koneksi database

require_once 'conect.php';


$message = ""; // Untuk menampilkan pesan error/sukses


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

    $username_or_email = $_POST['username_or_email'];

    $password = $_POST['password'];


    // Validasi sederhana

    if (empty($username_or_email) || empty($password)) {

        $message = "<p style='color:red;'>Username/Email dan Password wajib diisi!</p>";

    } else {

        // Cari pengguna berdasarkan username atau email

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

        $stmt->bind_param("ss", $username_or_email, $username_or_email);

        $stmt->execute();

        $result = $stmt->get_result(); // Gunakan get_result() untuk MySQLi


        if ($result->num_rows == 1) {

            $user = $result->fetch_assoc();

            // Verifikasi password

            if (password_verify($password, $user['password'])) {

                // Login berhasil, buat session

                session_regenerate_id(true); // Keamanan: regenerasi ID sesi

                $_SESSION['user_id'] = $user['id'];

                $_SESSION['username'] = $user['username'];


                header("Location: index.php"); // Redirect ke halaman utama setelah login

                exit();

            } else {

                $message = "<p style='color:red;'>Password salah!</p>";

            }

        } else {

            $message = "<p style='color:red;'>Username atau email tidak ditemukan!</p>";

        }

        $stmt->close();

    }

}

?>


<!DOCTYPE html>

<html lang="id">

<head>

    <meta charset="UTF-8">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>Login Pengguna</title>

    <link rel="stylesheet" href="style.css"> </head>

<body>

    <div class="container">

        <h2>Login Pengguna</h2>

        <?php echo $message; ?>

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

            <label for="username_or_email">Username atau Email:</label><br>

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


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

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


            <button type="submit">Login</button>

        </form>

        <p>Belum punya akun? <a href="register.php">Daftar di sini</a>.</p>

    </div>

</body>

</html>

Komentar

Postingan populer dari blog ini

Project Web 01 Kode Register.php

Project Web 01 Kode Conect.php