Skip to content

Membuat file login dan logout

Ubah file login.html menjadi login.php tanpa mengubah skrip di dalamnya.

Berikut kodenya

<!DOCTYPE html>
<html lang="en">
<head>
    <title>Login Aplikasi</title>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="stylesheet" href="css/style.css">
</head>
<body>
    <div class="container">
        <section class="login-box">
            <h2>Login Aplikasi</h2>
            <form action="ceklogin.php" method="post">
                <input type="text" placeholder="Username" id="username" name="username">
                <input type="password" placeholder="Password" id="password" name="password">
                <input type="submit" value="Login">
            </form>
        </section>
    </div>
</body>
</html>

Jika diperhatikan ada baris kode

<form action="ceklogin.php" method="post">
itu artinya jika tombol login diklik, maka data username dan password akan dikirim dan diproses ke file ceklogin.php, untuk dilakukan pencocokan antara username dan password yang ada di dalam database.

Perhatian

Jangan lupa copy folder css beserta isinya ke dalam root folder project agar tampilannya lebih bagus.

Sekarang kita buat file ceklogin.php, berikut kodenya.

<?php
    session_start();
    include "library/config.php";

    $username = $_POST['username'];
    $password = md5($_POST['password']);

    $query = "SELECT * FROM user WHERE username = '$username' AND password = '$password'";
    $hasil = mysqli_query($con,$query);
    $data = mysqli_fetch_array($hasil);
    $jml = mysqli_num_rows($hasil);

    if ($jml > 0) {
        $_SESSION['username'] = $data['username'];
        $_SESSION['password'] = $data['password'];

        header('location: index.php');
    } else {
        echo "<p align='center'>Login Gagal!</p>";
        echo "<meta http-equiv='refresh' content='2; url=login.php'>";
    }
?>
Penjelasan

  • Skrip di atas akan mengecek, apakah ada data pada tabel user dengan username dan password sesuai yang dimasukkan.
  • Password dienskripsi menggunakan fungsi md5().
  • Jika data ditemukan, yang ditandai dengan jumlah data lebih dari 0, meka akan membuat session username dan password untuk digunakan sebagai penanda pada halaman lain bahwa user sudah login.
  • Function header() akan mengarahkan ke halama index.php

Selanjutnya kita buat file logout.php

<?php
    session_start();
    session_destroy();

    echo "<p align='center'>Anda telah logout!</p>";
    echo "<meta http-equiv='refresh' content='2; url=login.php'>";
?>

Penjelasan

Fungsi destroy() akan menghapus data session username dan password yang dibuat pada file ceklogin.php