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

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

Dari Dunia Nyata ke Rak Mainan: Panduan Magic Membuat Figur Miniatur AI yang Hidup dan Bergerak

  Belakangan ini, linimasa media sosial dihiasi oleh sebuah magic digital: foto-foto biasa yang berubah menjadi figur miniatur yang ultra-realistis, layaknya action figure koleksi terbatas yang dipajang di rak. Bahkan, si figur miniatur ini bisa hidup dan bergerak! Tren yang memadukan nostalgia mainan masa kecil dengan kecanggihan AI ini memang sedang viral. Bagi yang penasaran, rahasia di balik magic ini adalah kombinasi dua tool AI powerful: Google Gemini sebagai "pematung digital" dan PixVerse sebagai "sihir animasi". Berikut adalah panduan lengkapnya untuk mengubah foto Anda, motor, atau hewan peliharaan menjadi karya miniatur yang mengagumkan. Langkah 1: Memahat Digital dengan Google Gemini Bayangkan Gemini sebagai seorang pematung berbakat yang butuh instruksi jelas. Tugas Anda adalah memberinya gambaran terperinci. Akses Workshop Digital: Buka browser dan kunjungi https://gemini.google.com/ . Pilih Bahan Baku: Klik ikon "+" (unggah) dan...