Tutorial Mudah Membuat Halaman Login di PHP dan MySQL
Berikut adalah tutorial sederhana untuk membuat halaman login menggunakan PHP dan MySQL:
Persiapan:
- Web Server: Pastikan kamu sudah menginstal web server seperti XAMPP, WAMP, atau LAMP (untuk Linux). XAMPP sudah termasuk Apache (untuk server), MySQL (untuk database), dan PHP.
- Database: Kamu akan menggunakan MySQL untuk menyimpan data pengguna.
Langkah-langkah:
1. Membuat Database dan Tabel
- Buka
phpMyAdmin
(atau gunakan terminal MySQL) untuk membuat database. - Buat database baru dengan nama
login_system
:
sql
CREATE DATABASE login_system;
USE login_system;
- Buat tabel
users
dengan kolomid
,username
, danpassword
:
sql
CREATE TABLE users (
id INT(11) AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50) NOT NULL,
password VARCHAR(255) NOT NULL
);
- Tambahkan beberapa data ke dalam tabel:
sql
INSERT INTO users (username, password) VALUES ('user1', MD5('password123'));
INSERT INTO users (username, password) VALUES ('user2', MD5('password456'));
2. Membuat Form Login (HTML)
Buat file login.html
untuk membuat form login:
html
<!DOCTYPE html>
<html>
<head>
<title>Login</title>
</head>
<body>
<h2>Login Form</h2>
<form action="login.php" method="POST">
<label for="username">Username:</label><br>
<input type="text" name="username" required><br><br>
<label for="password">Password:</label><br>
<input type="password" name="password" required><br><br>
<input type="submit" value="Login">
</form>
</body>
</html>
3. Membuat Koneksi Database (PHP)
Buat file db.php
untuk koneksi ke database:
php
<?php
$host = 'localhost'; // Server database
$user = 'root'; // Username database
$pass = ''; // Password database (kosong jika default XAMPP)
$db = 'login_system'; // Nama database
// Membuat koneksi ke database
$conn = new mysqli($host, $user, $pass, $db);
// Cek apakah koneksi berhasil
if ($conn->connect_error) {
die("Koneksi ke database gagal: " . $conn->connect_error);
}
?>
4. Membuat Skrip Login (PHP)
Buat file login.php
untuk memproses data login:
php
<?php
// Sertakan file koneksi database
include 'db.php';
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
// Ambil data dari form login
$username = $_POST['username'];
$password = md5($_POST['password']); // Enkripsi password dengan md5
// Query untuk memeriksa pengguna dalam database
$sql = "SELECT * FROM users WHERE username='$username' AND password='$password'";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// Jika login berhasil
echo "Login berhasil! Selamat datang, " . $username;
} else {
// Jika login gagal
echo "Login gagal! Username atau password salah.";
}
}
$conn->close();
?>
5. Testing
- Simpan file HTML, PHP, dan file koneksi di dalam folder
htdocs
(untuk XAMPP) atau folder server web kamu. - Jalankan server XAMPP atau server lokal.
- Akses halaman login dengan URL seperti
http://localhost/login.html
. - Masukkan username dan password untuk login. Username bisa
user1
dengan passwordpassword123
, atauuser2
dengan passwordpassword456
.
Catatan:
- Enkripsi: Pada contoh di atas, password dienkripsi menggunakan fungsi
MD5
, namun dalam praktik sebenarnya sebaiknya menggunakan fungsi yang lebih aman sepertipassword_hash()
danpassword_verify()
agar lebih tahan terhadap serangan seperti brute force dan rainbow table.
Misalnya:
php
$password_hash = password_hash('password123', PASSWORD_DEFAULT);
Dan untuk memverifikasi:
php
password_verify($password_input, $password_hash);
Dengan langkah-langkah di atas, kamu sudah berhasil membuat halaman login sederhana menggunakan PHP dan MySQL.
No comments