Diskon kelas baru hingga 25%! Masukkan kupon "lebihcepat" di kelas ini

X
Logo Koala Skodev mengetik

Skodev

Belajar coding dalam bahasa Indonesia

CARA MEMBUAT FORM LOGIN DENGAN PHP DAN MYSQL DATABASE

Pelajari cara membuat form login sederhana menggunakan PHP dan MySQL. Ikuti langkah demi langkah dalam artikel ini untuk membuat sistem login yang aman dan efektif.

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.

Persiapan Database

Sebelum memulai, pastikan kamu memiliki server MySQL yang berjalan dan telah membuat sebuah database yang akan digunakan untuk menyimpan informasi pengguna.

Buat Tabel 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 increment
  • username untuk menyimpan nama pengguna
  • password untuk menyimpan kata sandi yang telah di-hash

Contoh 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
);

Membuat Koneksi Database

Untuk berinteraksi dengan MySQL, kita perlu membuat sebuah file PHP yang akan menangani koneksi ke database.

File Koneksi (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.

Membuat Form Login

Sekarang saatnya kita membuat form login yang akan mengambil input dari pengguna.

File Login (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>

Proses Autentikasi Pengguna

Setelah form login dibuat, kita perlu sebuah skrip untuk mengautentikasi pengguna yang masuk.

File Proses Login (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";
}
?>

Hashing Password

Jangan lupa untuk menyimpan password dalam bentuk hash. Kamu bisa melakukan ini saat membuat pengguna baru.

Menyimpan Password dengan Hash

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.

Halaman Utama Setelah Login

Jika login berhasil, pengguna akan dibawa ke halaman utama aplikasi.

Halaman Utama (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.

cover kelas Kelas membuat website dengan HTML dan CSS
Kelas membuat website dengan HTML dan CSS

belajar membuat website kamu dari nol. Cocok untuk pemula

Lihat Kelas

Daftar newsletter skodev masukkan emailmu untuk dapat informasi menarik dari dunia koding