Tahun baru, skill baru! 🚀. Masukkan kupon "skill2025" untuk diskon 30% di kelas apa saja
Skodev
Belajar coding dalam bahasa Indonesia
Daftar Isi:
Membuat sistem login adalah salah satu fitur dasar yang sering dibutuhkan oleh berbagai aplikasi web. Fitur ini memungkinkan pengguna untuk masuk ke dalam sistem dan mengakses konten yang dikhususkan untuk mereka. Artikel ini akan membimbing kamu membuat login dengan PHP dan MySQL.
Sebelum memulai, pastikan kamu sudah memiliki server lokal atau hosting dan database MySQL. Serta pastikan PHP dan MySQL sudah terinstal dan berjalan dengan baik.
Langkah pertama adalah membuat tabel untuk menyimpan data pengguna di database MySQL.
Gunakan phpMyAdmin atau MySQL command line untuk membuat database. Misalnya dengan nama db_login
.
Dalam database db_login
, buat tabel dengan nama users
. Tabel ini harus memiliki beberapa kolom seperti id
, username
, password
, dan barangkali email
.
Contoh SQL:
CREATE TABLE users (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(30) NOT NULL,
password VARCHAR(60) NOT NULL,
email VARCHAR(50)
);
Tambahkan pengguna ke dalam tabel untuk uji coba login. Pastikan menggunakan fungsi password_hash
untuk mengenkripsi password.
Buat file dengan nama login.php
dan masukkan kode berikut untuk form login.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Login</title>
</head>
<body>
<form action="authenticate.php" method="post">
<label for="username">Username:</label>
<input type="text" name="username" id="username" required>
<label for="password">Password:</label>
<input type="password" name="password" id="password" required>
<button type="submit">Login</button>
</form>
</body>
</html>
Buat file authenticate.php
untuk memproses data yang dikirim dari form login.
<?php
session_start();
// Menghubungkan ke database
$db = new mysqli('localhost', 'root', '', 'db_login');
// Memeriksa koneksi
if ($db->connect_error) {
die("Koneksi gagal: " . $db->connect_error);
}
// Menangkap data dari form
$username = $_POST['username'];
$password = $_POST['password'];
// Menyiapkan statement untuk mencegah SQL injection
$stmt = $db->prepare("SELECT id, username, password FROM users WHERE username = ?");
$stmt->bind_param("s", $username);
// Menjalankan statement
$stmt->execute();
// Mendapatkan hasil
$result = $stmt->get_result();
if ($user = $result->fetch_assoc()) {
// Memeriksa password
if (password_verify($password, $user['password'])) {
// Menetapkan session
$_SESSION['user_id'] = $user['id'];
header("Location: welcome.php");
exit;
}
}
echo "Username atau password salah!";
Setelah autentikasi berhasil, buat halaman welcome.php
sebagai berikut.
<?php
session_start();
if (!isset($_SESSION['user_id'])) {
header("Location: login.php");
exit;
}
echo "Selamat Datang, " . $_SESSION['username'];
Jangan lupa untuk selalu memulai setiap file dengan session_start()
jika kamu ingin menggunakan session.
Selalu ingat untuk tidak menyimpan password dalam bentuk teks biasa. Gunakan password_hash
ketika menyimpan dan password_verify
saat memeriksa password. Selain itu, jangan lupa menggunakan statement yang disiapkan (prepared statements) untuk mencegah serangan SQL Injection.
Dengan mengikuti tutorial ini, kamu sekarang memiliki sistem login dasar yang bisa dikembangkan lebih lanjut sesuai kebutuhan aplikasi web kamu. Selamat mencoba!
Link terkait: