Cara Membuat Session Login PHP dan Contoh Script [Lengkap]

Membuat sistem login menggunakan PHP adalah salah satu hal dasar yang perlu dipahami oleh pengembang web. Dengan menggunakan session, Anda dapat menjaga keamanan pengguna selama mereka berinteraksi dengan aplikasi web Anda. Berikut adalah langkah-langkah untuk membuat session login menggunakan PHP, beserta contoh script yang lengkap.

1. Persiapan Database

Langkah pertama adalah menyiapkan database untuk menyimpan data pengguna. Anda perlu membuat tabel dengan kolom seperti id, username, dan password. Berikut adalah contoh query SQL untuk membuat tabel users:

CREATE TABLE users (
id INT(11) AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50) NOT NULL,
password VARCHAR(255) NOT NULL
);

2. Membuat Form Login

Buat form HTML yang akan digunakan oleh pengguna untuk memasukkan username dan password mereka.

<form action="login.php" method="post">
<label for="username">Username:</label>
<input type="text" name="username" required>
<br>
<label for="password">Password:</label>
<input type="password" name="password" required>
<br>
<button type="submit">Login</button>
</form>

3. Membuat Script Login (login.php)

Selanjutnya, buat script PHP untuk memproses data yang dimasukkan oleh pengguna dan memulai session jika login berhasil.

<?php
session_start();
include(‘config.php’); // File untuk koneksi database

if ($_SERVER[“REQUEST_METHOD”] == “POST”) {
$username = $_POST[‘username’];
$password = $_POST[‘password’];

$sql = “SELECT * FROM users WHERE username = ?”;
$stmt = $conn->prepare($sql);
$stmt->bind_param(‘s’, $username);
$stmt->execute();
$result = $stmt->get_result();

if ($result->num_rows > 0) {
$row = $result->fetch_assoc();
if (password_verify($password, $row[‘password’])) {
$_SESSION[‘username’] = $row[‘username’];
header(“Location: dashboard.php”);
exit();
} else {
echo “Password salah!”;
}
} else {
echo “Username tidak ditemukan!”;
}
}
?>

4. Membuat Halaman Dashboard yang Terproteksi (dashboard.php)

Setelah login berhasil, pengguna akan diarahkan ke halaman dashboard yang hanya bisa diakses jika session aktif.

<?php
session_start();

if (!isset($_SESSION[‘username’])) {
header(“Location: login.php”);
exit();
}

BACA JUGA :  Download: Pengertian, Fungsi, Cara Kerjanya

echo “Selamat datang, ” . $_SESSION[‘username’];
?>

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

5. Membuat Logout Script (logout.php)

Untuk mengakhiri session dan mengeluarkan pengguna, Anda dapat membuat script logout sebagai berikut:

<?php
session_start();
session_unset();
session_destroy();

header(“Location: login.php”);
exit();
?>

6. Mengatur Koneksi Database (config.php)

File ini berfungsi untuk mengatur koneksi ke database. Contohnya:

<?php
$servername = “localhost”;
$username = “root”;
$password = “”;
$dbname = “your_database_name”;

$conn = new mysqli($servername, $username, $password, $dbname);

if ($conn->connect_error) {
die(“Connection failed: ” . $conn->connect_error);
}
?>

Penjelasan

  • Session: PHP session digunakan untuk menyimpan informasi tentang pengguna yang bisa diakses di seluruh halaman di situs web Anda.
  • Password Hashing: Untuk keamanan, kata sandi disimpan dalam bentuk hash menggunakan password_hash() dan diverifikasi dengan password_verify().
  • Prepared Statements: Menggunakan prepared statements dengan bind_param adalah cara aman untuk menghindari serangan SQL injection.

Kesimpulan

Dengan mengikuti langkah-langkah di atas, Anda dapat membuat sistem login berbasis session menggunakan PHP. Ini memungkinkan Anda untuk menjaga keamanan data pengguna dan memberikan pengalaman yang lebih baik bagi mereka saat menggunakan aplikasi web Anda.

Jika Anda membutuhkan referensi lebih lanjut, Anda dapat mencari sumber daya tambahan atau tutorial yang lebih mendalam terkait PHP dan manajemen session.

Leave a Comment