Cara Membuat Form Login Sederhana dengan PHP dan MySQL

Form login adalah bagian penting dalam sebuah aplikasi web. Dengan login, sistem dapat mengidentifikasi pengguna yang memiliki hak akses ke fitur tertentu, seperti dashboard admin atau halaman profil. Membuat form login sederhana di PHP dan MySQL adalah langkah awal yang sangat penting untuk belajar pengembangan web dinamis.

Prasyarat

Sebelum memulai, pastikan kamu sudah:

Catatan: Artikel ini hanya membahas form login dan proses pengecekan user. Proses pembuatan database dan koneksi dibahas di artikel terpisah.

Desain Tampilan Form Login (HTML)

Buat file bernama login.php dan masukkan kode berikut untuk menampilkan form login:

<!DOCTYPE html>
<html>
<head>
    <title>Login Sederhana</title>
    <style>
        body {
            font-family: Arial, sans-serif;
            background-color: #f4f4f4;
        }
        .login-box {
            width: 300px;
            padding: 20px;
            background: white;
            margin: 100px auto;
            border-radius: 10px;
            box-shadow: 0 0 10px rgba(0,0,0,0.1);
        }
        input[type="text"], input[type="password"] {
            width: 100%;
            padding: 10px;
            margin-bottom: 15px;
            border: 1px solid #ccc;
            border-radius: 5px;
        }
        input[type="submit"] {
            width: 100%;
            background: #007bff;
            color: white;
            padding: 10px;
            border: none;
            border-radius: 5px;
        }
        .error {
            color: red;
            margin-bottom: 10px;
        }
    </style>
</head>
<body>

<div class="login-box">
    <h2>Login</h2>
    <?php
    if (isset($_GET['error'])) {
        echo '<div class="error">' . htmlspecialchars($_GET['error']) . '</div>';
    }
    ?>
    <form method="post" action="proses_login.php">
        <input type="text" name="username" placeholder="Username" required autofocus>
        <input type="password" name="password" placeholder="Password" required>
        <input type="submit" value="Login">
    </form>
</div>

</body>
</html>

Proses Login dan Verifikasi Data (PHP)

Selanjutnya buat file bernama proses_login.php. Di file ini, kita akan melakukan:

  • Mengambil data dari form
  • Mengecek ke database apakah user valid
  • Menyimpan session dan mengalihkan pengguna
<?php
require_once 'config.php'; // Pastikan file ini berisi koneksi database

// Ambil data dari form
$username = $_POST['username'];
$password = $_POST['password'];

// Cek apakah user ada di database
$query = $koneksi->prepare("SELECT * FROM users WHERE username = ?");
$query->bind_param("s", $username);
$query->execute();
$result = $query->get_result();

if ($result->num_rows === 1) {
    $user = $result->fetch_assoc();

    // Cek password (tanpa hashing, untuk keperluan tutorial dasar)
    if ($password === $user['password']) {
        // Simpan ke session
        $_SESSION['login'] = true;
        $_SESSION['username'] = $user['username'];
        $_SESSION['role'] = $user['role']; // Jika ada role

        // Redirect ke halaman dashboard
        header("Location: dashboard.php");
        exit;
    } else {
        header("Location: login.php?error=Password salah.");
        exit;
    }
} else {
    header("Location: login.php?error=Username tidak ditemukan.");
    exit;
}

🔒 Catatan penting: Dalam praktik nyata, password wajib disimpan dalam bentuk hash menggunakan password_hash() dan diverifikasi dengan password_verify(). Tutorial ini disederhanakan untuk pemula.

Halaman Setelah Login (dashboard.php)

Sebagai contoh, berikut isi file dashboard.php:

<?php
require_once 'config.php';

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

<!DOCTYPE html>
<html>
<head>
    <title>Dashboard</title>
</head>
<body>
    <h2>Selamat datang, <?php echo htmlspecialchars($_SESSION['username']); ?>!</h2>
    <p><a href="logout.php">Logout</a></p>
</body>
</html>

Panduan membuat logout php baca disini

Kesimpulan

Membuat form login sederhana di PHP dan MySQL adalah langkah awal penting untuk membangun sistem autentikasi pengguna. Dalam artikel ini, kita sudah membahas:

  • Cara membuat form login HTML
  • Menangani login dengan PHP dan MySQL
  • Melakukan pengecekan user
  • Membuat halaman dashboard dan logout

Untuk konfigurasi koneksi ke database, pastikan kamu sudah membuat file config.php terlebih dahulu. Kamu bisa baca panduannya di artikel: Cara Membuat File config.php untuk Koneksi MySQL di PHP.

Apa pendapatmu? Tulis di kolom komentar dengan sopan dan beretika. Jangan lupa bagikan agar semakin banyak yang tahu!

Leave a Reply

Your email address will not be published.

Spam check: