Langsung ke konten utama

Membuat Halaman Login Sederhana untuk Pemula

Halaman login adalah salah satu komponen penting dalam pengembangan website yang membutuhkan autentikasi pengguna. Dalam tutorial ini, kita akan membangun sistem login sederhana menggunakan PHP dan MySQL. Sistem ini akan membedakan akses antara admin dan user biasa, sehingga dapat digunakan sebagai dasar pengembangan aplikasi berbasis role (hak akses).

Untuk Files Lengkap ada di Akhir Artikel ini

Proyek ini cocok untuk pemula yang ingin memahami:

  • Koneksi database MySQL dengan PHP

  • Proses login dan logout

  • Pembagian hak akses (admin & user)

  • Keamanan dasar dalam autentikasi

Kita akan membuat struktur folder dengan file-file berikut:

  • login.php → Halaman login

  • logout.php → Proses logout

  • dashboard.php → Halaman admin

  • user_dashboard.php → Halaman user biasa

  • config.php → File koneksi database

  • users.sql → Struktur tabel untuk menyimpan data login


1. Persiapan Database (users.sql)


Sebelum memulai, kita perlu menyiapkan database
( login_system ) untuk menyimpan data pengguna. Buat tabel users dengan kolom:

  • id → Primary key (auto-increment)

  • username → Untuk menyimpan nama pengguna

  • password → Untuk menyimpan kata sandi (tanpa hashing dalam contoh ini, hanya untuk pembelajaran lokal)

  • role → Menentukan hak akses (admin atau user)

  • created_at → Waktu pembuatan akun

Pastikan database sudah dibuat di phpMyAdmin atau alat manajemen database lainnya sebelum menjalankan proyek.


2. Membuat Koneksi Database (config.php)

File ini berisi koneksi ke database MySQL menggunakan MySQLi. Fungsi-fungsi dasar yang diperlukan:

  • Koneksi ke database

  • Fungsi login → Memeriksa kecocokan username & password

  • Fungsi logout → Menghapus session dan mengarahkan ke halaman login

Pastikan untuk mengganti host, username, password, dan nama database sesuai dengan pengaturan lokal Anda.


3. Membuat Halaman Login (login.php)

Halaman login adalah tempat pengguna memasukkan username dan password. Beberapa fitur yang diterapkan:

  • Form sederhana dengan validasi input

  • Pengecekan session → Jika sudah login, redirect ke dashboard sesuai role

  • Pesan error jika login gagal

Desain menggunakan CSS sederhana dengan gaya Windows 11 untuk memberikan tampilan yang modern dan rapi.


4. Proses Logout (logout.php)

File ini bertugas:

  • Menghapus semua data session

  • Mengarahkan pengguna kembali ke halaman login

Ini penting untuk memastikan keamanan saat pengguna keluar dari sistem.


5. Halaman Dashboard Admin (dashboard.php)

Halaman ini hanya bisa diakses oleh role admin dan berisi:

  • Navigasi sidebar dengan menu khusus admin

  • Informasi login user

  • Tombol logout

  • Fitur tambah user (bisa dikembangkan lebih lanjut)

Jika user biasa mencoba mengakses, sistem akan mengarahkannya ke user_dashboard.php.


6. Halaman Dashboard User (user_dashboard.php)

Halaman ini diperuntukkan bagi pengguna biasa dengan fitur:

  • Tampilan sederhana dengan informasi akun

  • Navigasi terbatas sesuai hak akses

  • Peringatan keamanan bahwa password disimpan tanpa hashing (hanya untuk pembelajaran)


7. Keamanan Dasar yang Perlu Diperhatikan

Meskipun proyek ini hanya untuk localhost, beberapa prinsip keamanan tetap harus dipahami:

a. Gunakan Password Hashing di Produksi

Contoh ini menyimpan password tanpa di-hash, yang sangat berbahaya jika digunakan di lingkungan nyata. Sebaiknya gunakan:

php

password_hash($password, PASSWORD_BCRYPT);

dan verifikasi dengan:

php

password_verify($input_password, $hashed_password);

b. Hindari SQL Injection

Gunakan prepared statements atau parameterized queries untuk mencegah serangan SQL injection.

c. Batasi Akses dengan Session

Selalu periksa role pengguna sebelum memberikan akses ke halaman tertentu.

d. Gunakan HTTPS

Jika proyek ini di-deploy, pastikan menggunakan HTTPS untuk mengenkripsi data login.


8. Pengembangan Lebih Lanjut

Setelah memahami sistem login dasar, Anda bisa mengembangkannya dengan:

  • Manajemen User (Edit, Hapus, Reset Password)

  • Remember Me menggunakan cookies

  • Captcha untuk mencegah brute force

  • Otorisasi berbasis permission (bukan hanya role)


Kesimpulan

Membuat sistem login sederhana adalah langkah awal yang baik untuk memahami autentikasi dan otorisasi dalam pengembangan web. Proyek ini menggunakan:

  • PHP untuk logika backend

  • MySQL untuk penyimpanan data

  • Session untuk manajemen login

Dengan struktur folder yang jelas dan kode yang mudah dipahami, pemula dapat memodifikasi dan mengembangkannya sesuai kebutuhan.

Catatan: Sistem ini tidak aman untuk produksi karena tidak menggunakan hashing password dan proteksi lengkap. Gunakan hanya untuk pembelajaran di lingkungan lokal.

šŸ“„Downloads Files Disini

Komentar

Postingan populer dari blog ini

Cara Install XAMPP di Windows: Pengertian, Kegunaan, dan Langkah-Langkahnya

Daftar Isi Apa Itu XAMPP? Kegunaan XAMPP Persiapan Sebelum Menginstall XAMPP Langkah-Langkah Install XAMPP di Windows Cara Menjalankan XAMPP Menguji XAMPP Berhasil Terinstall Masalah Umum dan Solusi Saat Install XAMPP Kesimpulan Apa Itu XAMPP? XAMPP  adalah sebuah paket perangkat lunak ( software stack ) yang digunakan untuk mengembangkan aplikasi web berbasis PHP, MySQL, dan Apache. XAMPP merupakan singkatan dari: X  (Cross-platform, bisa digunakan di Windows, Linux, dan macOS) A  (Apache – web server) M  (MySQL/MariaDB – database management system) P  (PHP – bahasa pemrograman server-side) P  (Perl – bahasa scripting tambahan) XAMPP dikembangkan oleh  Apache Friends  dan menyediakan lingkungan pengembangan ( local server ) yang memudahkan developer untuk membuat, menguji, dan menjalankan aplikasi web sebelum di- upload  ke server online. Kegunaan XAMPP XAMPP memiliki beberapa fungsi utama, di antaranya: Membuat Server Lokal Memungkinkan pen...

Cara Mengkonversi File Python (.py) ke Executable (.exe) di Linux

  Berikut adalah panduan lengkap untuk mengkonversi script Python ke file .exe yang bisa dijalankan di Windows, meskipun Anda menggunakan Linux sebagai sistem operasi pengembangan. Persyaratan Python 3.x terinstall di Linux Virtual environment (direkomendasikan) Wine (untuk build Windows executable dari Linux) Langkah 1: Persiapan Install Wine (untuk build Windows executable dari Linux) bash Copy Download sudo apt update sudo apt install wine Buat dan aktifkan virtual environment bash Copy Download python3 -m venv myenv source myenv/bin/activate Langkah 2: Install PyInstaller dan Dependencies bash Copy Download pip install pyinstaller pip install PyQt5 mysql-connector-python psutil # atau dependencies proyek Anda Langkah 3: Konversi ke .exe Untuk aplikasi console biasa: bash Copy Download pyinstaller --onefile --clean --name MyApp script_anda.py Untuk aplikasi GUI (seperti PyQt5): bash Copy Download pyinstaller --onefile --windowed --clean --name MyApp script_anda....