Cara Membuat Sistem Login dan Logout Menggunakan PHP dan MySQL (Lengkap + Aman)
Ingin tahu cara membuat sistem login dan logout menggunakan PHP dan MySQL? Pada tutorial ini, kamu akan belajar membuat fitur login logout yang aman, responsif, dan mudah dipahami, khususnya untuk pemula.
Dengan memanfaatkan fitur session, password hash, dan prepared statement, kamu akan membangun sistem autentikasi yang bisa digunakan pada berbagai jenis website seperti portal berita, website sekolah, blog, hingga sistem informasi manajemen.
Langkah 1 : Membuat Database dan Table
Kita mulai dengan membuat database dan table untuk menyimpan username dan password.
CREATE DATABASE login_db;
USE login_db;
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50) NOT NULL UNIQUE,
password VARCHAR(255) NOT NULL
);
Langkah 2 : Membuat Koneksi
Untuk menghubungkan PHP dengan database MySQL kita harus membuat koneksi terlebih dahulu, berikut cara membuat koneksinya
Buat file koneksi.php, lalu tuliskan kode berikut :

Untuk lebih jelasnya lagi kalian bisa melihat artikel cara membuat koneksi, disini.
Langkah 3 : Membuat Form login dan Proses Validasi
Agar kita bisa menggunakan form login, kita harus membuat tampilan dari form tersebut menggunakan HTML. Setelah form selesai dibuat, kita bisa membuat proses validasinya, apakah username dan password cocok dengan database, kita bisa menggunakan password_verify() untuk melakukan pengecekan password yang dihash/enkripsi.
Membuat file login.php untuk menulis kode HTML dan PHP.
Proses Validasi menggunakan PHP :

Form login dengan HTML :

Untuk kode PHP bisa kalian tempatkan diatas tag <!DOCTYPE html>, atau bisa ditempatkan di file berbeda.
Tampilan dari form login tanpa styling apapun. Untuk mempercantik tampilan kalian bisa menggunakan CSS, atau juga bisa menggunakan library CSS seperti Bootstrap, Tailwind, dll.

Langkah 4 : Dashboard Setelah Login Berhasil
Halaman ini nantinya hanya bisa diakses oleh user yang sudah berhasil login.
untuk membuatnya kalian bisa membuat file baru dengan nama dashboard.php.

Tampilan dari dashboardnya. Sangat sederhana bukan, nah kalian bisa memodifikasi tampilannya sesuai selera kalian.

Langkah 5 : Proses Logout dan Hapus Session
Tidak lengkap rasanya jika kita membuat sistem login tanpa membuat sistem logoutnya juga, pada langkah terakhir ini kita akan membuat sistem logout untuk menghapus semua session dan mengarahkan user yang telah logout ke halaman login.
Buat file dengan nama logout.php

Sangat simple bukan. Untuk menggunakannya kalian hanya perlu membuat tombol yang mengarah ke file logout.php.
Fitur Keamanan yang Digunakan:
| Fitur | Penjelasan |
|---|---|
password_hash() | Menyimpan password dalam bentuk terenkripsi |
password_verify() | Mengecek password saat login dengan data terenkripsi |
| Session login | Menyimpan data login pengguna selama sesi |
| Prepared statement | Mencegah serangan SQL Injection dengan query yang aman |
Sepertinya ada yang kurang nih, jika kita membuat sistem login kita juga harus membuat fitur registrasi user. Karena sudah terlalu panjang tutorial kali ini, sepertinya next time kita buatkan tutorial membuat fitur register dengan bahasa PHP.
Bagus