Tahun baru, skill baru! 🚀. Masukkan kupon "skill2025" untuk diskon 30% di kelas apa saja
Skodev
Belajar coding dalam bahasa Indonesia
Membuat sistem login menggunakan PHP dengan sesi adalah salah satu komponen penting ketika kamu ingin membuat aplikasi berbasis web yang aman. Dengan menggunakan sesi, data pengguna dapat disimpan secara sementara untuk memverifikasi bahwa pengguna telah masuk (login) ke dalam sistem. Berikut ini adalah panduan sederhana untuk membuat sistem login dengan PHP menggunakan sesi.
Pertama, kamu perlu membuat form login yang akan dikirimkan datanya ke server.
Buatlah file dengan nama login.html
dan masukkan kode berikut ini:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Login</title>
</head>
<body>
<form action="proses_login.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>
Form ini akan mengirimkan data ke file proses_login.php
menggunakan metode POST
.
Buat file baru dengan nama proses_login.php
dan tulis kode berikut:
<?php
session_start();
// Data username dan password
$usr = "user1";
$pwd = "password123";
// Cek apakah form telah dikirim
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$username = $_POST['username'];
$password = $_POST['password'];
// Verifikasi data login dengan data yang ada
if ($username === $usr && $password === $pwd) {
// Set sesi pengguna
$_SESSION["user"] = $username;
// Alihkan ke halaman yang diinginkan setelah login
header("Location: dashboard.php");
exit();
} else {
echo "Login gagal. Username atau password salah.";
}
}
?>
Dalam contoh ini, username dan password diset secara statis, tetapi pada implementasi nyata, kamu perlu memverifikasi data tersebut dari sebuah database.
Setelah login berhasil, pengguna akan dialihkan ke dashboard.php
. Buat file tersebut:
<?php
session_start();
// Cek apakah pengguna belum login
if (!isset($_SESSION["user"])) {
// Alihkan kembali ke login.html jika belum login
header("Location: login.html");
exit();
}
// Tampilkan selamat datang jika sudah login
echo "Selamat datang " . $_SESSION["user"];
// Tambahkan link logout jika ingin keluar
echo "<br><a href='logout.php'>Logout</a>";
?>
Untuk membuat pengguna dapat logout, kamu perlu menghancurkan sesi yang ada. Buat file logout.php
dengan kode berikut:
<?php
session_start();
session_destroy();
// Setelah logout, alihkan ke halaman login
header("Location: login.html");
exit();
?>
Dengan menambahkan session_start()
di awal setiap file, PHP dapat mengakses sesi yang telah dibuat. Fungsi session_destroy()
digunakan untuk menghapus semua data sesi yang tersimpan.
Sistem login yang kamu buat menggunakan PHP dan sesi sederhana, namun efektif untuk kebutuhan autentikasi dasar. Selalu pastikan data sensitif seperti password disimpan dengan aman dan menggunakan enkripsi yang kuat jika kamu berurusan dengan data yang lebih kritis. Selamat mencoba!
Link terkait: