Langsung ke konten utama

Membuat Login System dengan Password Hash dan Dua Role (Admin & User) FREE DOWNLOAD CODE

 

Sistem login merupakan komponen penting dalam pengembangan aplikasi web yang memerlukan autentikasi pengguna. Dalam artikel ini, kita akan membangun sebuah sistem login dengan fitur-fitur berikut:

  • Password Hashing untuk keamanan.

  • Dua Role (Admin & User) dengan hak akses berbeda.

  • Struktur Folder yang Terorganisir.

Kita akan menjelaskan fungsi masing-masing file dalam struktur folder loginhash tanpa menampilkan kode secara langsung, karena kode akan disediakan dalam bentuk file download.


Struktur Folder dan File

Berikut adalah daftar file yang akan digunakan dalam sistem login:

1. index.php (Halaman Login)

File ini berfungsi sebagai halaman utama untuk login pengguna. Fitur yang dimiliki:

  • Form input username dan password.

  • Validasi login menggunakan session.

  • Redirect ke dashboard setelah login berhasil.

  • Menampilkan pesan error jika login gagal.

2. dashboard.php (Halaman Redirect Berdasarkan Role)

File ini berperan sebagai penghubung setelah login berhasil.

  • Memeriksa apakah pengguna sudah login (isLoggedIn()).

  • Redirect ke admin.php jika role = admin.

  • Redirect ke user.php jika role = user.

3. functions.php (Kumpulan Fungsi Bantuan)

Berisi fungsi-fungsi utilitas yang digunakan di seluruh sistem:

  • isLoggedIn(): Memeriksa apakah pengguna sudah login.

  • isAdmin(): Memeriksa apakah role pengguna adalah admin.

  • redirect($location): Mengarahkan pengguna ke halaman tertentu.

  • sanitizeInput($data): Membersihkan input dari karakter berbahaya (XSS prevention).

4. config.php (Konfigurasi Database & Session)

File ini berisi:

  • Koneksi database menggunakan PDO (PHP Data Objects).

  • Inisialisasi session (session_start()).

  • Konfigurasi dasar seperti nama database, username, password, dll.

5. auth.php (Proses Autentikasi & Manajemen User)

File ini menangani:

  • Proses Login:

    • Mengecek username & password di database.

    • Memverifikasi password menggunakan password_verify().

    • Menyimpan data user ke session jika login berhasil.

  • Proses Tambah User (Admin Only):

    • Hanya admin yang bisa menambahkan user baru.

    • Password di-hash menggunakan password_hash().

    • Menyimpan data user ke database.

6. admin.php (Halaman Khusus Admin)

Halaman ini hanya bisa diakses oleh role admin, berisi:

  • Daftar semua user (jika diperlukan).

  • Fitur CRUD (Create, Read, Update, Delete) untuk manajemen user.

  • Opsi untuk menambahkan user baru.

7. user.php (Halaman Khusus User Biasa)

Halaman ini untuk pengguna dengan role user, berisi:

  • Informasi dasar user.

  • Fitur yang lebih terbatas dibanding admin.

8. add_user.php (Form Tambah User Baru - Admin Only)

Halaman ini digunakan admin untuk:

  • Menambahkan user baru dengan role admin/user.

  • Form input username, password, dan role.

  • Validasi sebelum disimpan ke database.

9. logout.php (Proses Logout)

File ini bertugas:

  • Menghapus semua data session (session_destroy()).

  • Mengarahkan pengguna kembali ke halaman login (index.php).


Alur Kerja Sistem Login

  1. Pengguna membuka index.php → Masukkan username & password.

  2. auth.php memverifikasi login:

    • Jika benar, data user disimpan di session dan diarahkan ke dashboard.php.

    • Jika salah, kembali ke index.php dengan pesan error.

  3. dashboard.php memeriksa role:

    • Jika admin, redirect ke admin.php.

    • Jika user, redirect ke user.php.

  4. Admin bisa menambah user melalui add_user.php.

  5. Logout → Hapus session dan kembali ke index.php.

     

    📥 Downloads File Disini!!!! 


Kesimpulan

Sistem login ini menggunakan password hashing untuk keamanan dan dua role (admin & user) untuk kontrol akses. Dengan struktur yang terorganisir, sistem ini mudah dikembangkan dengan fitur tambahan seperti:

  • Password reset.

  • Remember me (cookie-based login).

  • Captcha untuk mencegah brute force.

File-file di atas dapat di-download dan diimplementasikan langsung dalam proyek PHP Anda. Semoga artikel ini membantu! 🚀

Penting: untuk login pertaman (user: admin , Password : admin123 dan untuk user login username:user , password: user123)

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....

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