Tahun baru, skill baru! 🚀. Masukkan kupon "skill2025" untuk diskon 30% di kelas apa saja
Skodev
Belajar coding dalam bahasa Indonesia
Membuat form login adalah langkah pertama dalam membangun sistem keamanan untuk aplikasi web. Dalam artikel ini, kita akan belajar bagaimana caranya membuat form login menggunakan PHP dan MySQL database dengan mudah dan cepat.
Sebelum memulai, pastikan kamu memiliki server MySQL yang berjalan dan telah membuat sebuah database yang akan digunakan untuk menyimpan informasi pengguna.
Buka phpMyAdmin atau MySQL client favoritmu, kemudian buat tabel baru dengan nama ‘users’ dan kolom-kolom sebagai berikut:
id
sebagai primary key dan auto incrementusername
untuk menyimpan nama penggunapassword
untuk menyimpan kata sandi yang telah di-hashContoh SQL untuk membuat tabel:
CREATE TABLE users (
id INT(11) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50) NOT NULL,
password VARCHAR(255) NOT NULL
);
Untuk berinteraksi dengan MySQL, kita perlu membuat sebuah file PHP yang akan menangani koneksi ke database.
koneksi.php
)Buat sebuah file baru dengan nama koneksi.php
lalu masukkan kode berikut:
<?php
$host = "localhost";
$user = "root";
$pass = "";
$db_name = "nama_database_mu";
$conn = mysqli_connect($host, $user, $pass, $db_name);
if (mysqli_connect_errno()) {
echo "Koneksi database gagal : " . mysqli_connect_error();
}
?>
Ganti nama_database_mu
dengan nama database yang telah kamu buat.
Sekarang saatnya kita membuat form login yang akan mengambil input dari pengguna.
login.php
)Buat file baru bernama login.php
dan masukkan kode berikut:
<!DOCTYPE html>
<html>
<head>
<title>Login</title>
</head>
<body>
<form action="proses_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>
<input type="submit" value="Login">
</form>
</body>
</html>
Setelah form login dibuat, kita perlu sebuah skrip untuk mengautentikasi pengguna yang masuk.
proses_login.php
)Buat file proses_login.php
dan tuliskan kode berikut:
<?php
session_start();
include 'koneksi.php';
$username = mysqli_real_escape_string($conn, $_POST['username']);
$password = mysqli_real_escape_string($conn, $_POST['password']);
$query = "SELECT * FROM users WHERE username='$username'";
$result = mysqli_query($conn, $query);
$row = mysqli_fetch_assoc($result);
if (password_verify($password, $row['password'])) {
$_SESSION['login'] = true;
$_SESSION['username'] = $username;
header("Location: halaman_utama.php");
} else {
echo "Username atau Password salah";
}
?>
Jangan lupa untuk menyimpan password dalam bentuk hash. Kamu bisa melakukan ini saat membuat pengguna baru.
Saat mendaftarkan pengguna baru, gunakan fungsi password_hash()
:
$password_hash = password_hash($password, PASSWORD_DEFAULT);
Simpan $password_hash
ke dalam kolom password pada tabel users.
Jika login berhasil, pengguna akan dibawa ke halaman utama aplikasi.
halaman_utama.php
)<?php
session_start();
if (!isset($_SESSION['login'])) {
header("Location: login.php");
exit;
}
echo "Selamat Datang " . $_SESSION['username'];
// Tambahkan konten halaman utama di sini
?>
Dengan mengikuti langkah-langkah di atas, kamu seharusnya sudah memiliki form login yang bekerja dengan baik dan sistem autentikasi menggunakan PHP dan MySQL database. Pastikan selalu mempraktikkan metode pengamanan yang baik seperti menggunakan HTTPS dan validasi input yang tepat untuk menjaga keamanan data pengguna.
Link terkait: