Site icon JagadHost

Membuat Halaman Login Dengan PHP & MYSQLI

“Login” adalah proses otentikasi atau pengidentifikasian pengguna yang mencoba mengakses suatu sistem, aplikasi, atau layanan. Ini adalah langkah yang umumnya digunakan untuk melindungi akses ke informasi atau fitur yang hanya boleh diakses oleh pengguna yang sah.

Thank you for reading this post, don't forget to subscribe!

Proses login umumnya melibatkan pengguna yang memasukkan kredensial mereka, seperti nama pengguna (username) dan kata sandi (password), ke dalam sistem yang kemudian memverifikasi apakah informasi ini cocok dengan data yang telah tersimpan. Jika kredensial yang dimasukkan sesuai dengan yang ada dalam sistem, pengguna dianggap sah dan diberikan akses ke sistem atau aplikasi tersebut.

Baca juga:  Membuat Halaman Register Dengan PHP & MYSQLICara Membuat Sistem Logout Di PHP

Membuat Halaman Login Dengan PHP

Berikut adalah cara membuat sistem login dengan database MySQL. Pastikan Anda sudah memiliki database MySQL yang disiapkan dan tabel yang sesuai. Dalam contoh ini, kami akan mengasumsikan bahwa tabel bernama “users” memiliki kolom “username” dan “password”. Jika anda belum membaca cara membuat sistem register bisa melihatnya disini.

Buat file login.php, anda bisa mengcopy code dibawah ini. 

<!DOCTYPE html>
<html>
<head>
<title>Login</title>
</head>
<body>
<h2>Login</h2>
<form method=”post” action=”process_login.php”>
<label for=”username”>Username:</label>
<input type=”text” name=”username” required><br><br>
<label for=”password”>Password:</label>
<input type=”password” name=”password” required><br><br>
<input type=”submit” value=”Login”>
</form>
</body>
</html>

Lalu, buat file process_login.php.

<?php
// Koneksi ke database
$host = “localhost”; // Ganti dengan host Anda
$username = “root”; // Ganti dengan username Anda
$password = “password”; // Ganti dengan password Anda
$dbname = “mydb”; // Ganti dengan nama database Anda

$koneksi = new mysqli($host, $username, $password, $dbname);

// Periksa koneksi
if (!$koneksi) {
die(“Koneksi database gagal: ” . mysqli_connect_error());
}

// Ambil data dari formulir login
$username = $_POST[‘username’];
$password = $_POST[‘password’];

// Lindungi dari serangan SQL Injection
$username = mysqli_real_escape_string($koneksi, $username);
$password = mysqli_real_escape_string($koneksi, $password);

// Query untuk mencari pengguna dengan username yang sesuai
$query = “SELECT * FROM users WHERE username=’$username’ AND password=’$password'”;
$result = mysqli_query($koneksi, $query);

// Periksa hasil query
if (!$result) {
die(“Query gagal: ” . mysqli_error($koneksi));
}

// Periksa apakah pengguna ditemukan
if (mysqli_num_rows($result) == 1) {
// Pengguna berhasil login
session_start();
$_SESSION[‘username’] = $username;
header(“Location: welcome.php”); // Ganti dengan halaman selamat datang Anda
} else {
// Jika tidak ada pengguna yang cocok, kembalikan ke halaman login
header(“Location: login.php?error=1”);
}

// Tutup koneksi database
mysqli_close($koneksi);
?>

Dan ketika anda sudah membuat file login.php dan proses login php, anda harus membuat halaman welcome, fungsinya untuk ketika user berhasil login maka si user akan diarahkan ke halaman welcome tersebut.

Buat File welcome.php

<?php
session_start();

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

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

Pastikan Anda mengganti nilai host, username, password, dan nama_database sesuai dengan pengaturan database Anda. Selain itu, pastikan Anda telah membuat tabel “users” dengan kolom “username” dan “password” untuk menyimpan data pengguna.

Harap diperhatikan bahwa ini adalah contoh sederhana. Dalam aplikasi dunia nyata, Anda harus mengambil langkah-langkah keamanan yang lebih serius, seperti mengenkripsi kata sandi, menghindari SQL Injection dengan menggunakan prepared statement, dan mengelola sesi pengguna dengan lebih baik.

Originally posted 2023-09-02 19:35:24.

Exit mobile version