Form login itu salah satu komponen dasar yang sering banget dipakai dalam pengembangan web, baik untuk aplikasi yang simpel atau yang lebih kompleks. Kalau kamu lagi kerja dengan PHP dan MySQL, pasti kamu butuh tutorial untuk bikin form login yang terhubung langsung dengan database MySQL.
Di artikel ini, kita bakal bikin form login PHP dan MySQL yang sederhana, nyambungin ke database, dan pastiin sistem login kamu aman. Langkah-langkah yang aku jelasin mudah banget diikuti, bahkan kalau kamu baru mulai belajar PHP dan MySQL.
Apa yang Kamu Butuhkan?
Sebelum memulai tutorial ini, pastikan kamu sudah memiliki beberapa hal berikut:
- PHP versi terbaru yang terinstal di server lokal atau hosting.
- MySQL atau MariaDB yang sudah terinstal.
- Editor kode seperti VSCode, Sublime Text, atau lainnya.
- XAMPP atau Laragon (untuk server lokal) yang terinstal di komputer kamu jika bekerja di lingkungan pengembangan lokal.
- Browser untuk menguji aplikasi yang sedang dibuat.
Langkah 1: Membuat Database dan Tabel di MySQL
Langkah pertama dalam tutorial ini adalah membuat database dan tabel untuk menyimpan data pengguna yang login.
1.1 Membuat Database
- Buka phpMyAdmin di browser (biasanya diakses di http://localhost/phpmyadmin jika menggunakan XAMPP atau Laragon).
- Pilih Databases dan buat database baru, misalnya
login_system
. - Klik Create.
1.2 Membuat Tabel Pengguna
Setelah database dibuat, langkah selanjutnya adalah membuat tabel untuk menyimpan data pengguna, seperti username dan password.
- Pilih database
login_system
yang baru saja kamu buat. - Klik tab SQL dan masukkan perintah berikut untuk membuat tabel pengguna:
Tabel users
ini akan menyimpan data pengguna yang meliputi id
, username
, dan password
yang dienkripsi.
Langkah 2: Membuat Form Login dengan HTML
Setelah database dan tabel selesai, langkah berikutnya adalah membuat form login menggunakan HTML.
Buat file bernama login.html
dan masukkan kode berikut:
Penjelasan:
- Form ini mengirimkan data ke file
login.php
menggunakan metode POST. - Pengguna akan diminta untuk memasukkan username dan password.
Langkah 3: Membuat File PHP untuk Memproses Login
Setelah form login siap, langkah selanjutnya adalah membuat file PHP yang akan memproses login pengguna, yaitu login.php
.
Buat file bernama login.php
dan masukkan kode berikut:
Penjelasan:
- File
login.php
pertama-tama memeriksa apakah pengguna mengirimkan form menggunakan tombol submit. - Selanjutnya, kode ini mengecek apakah username yang dimasukkan ada di dalam tabel
users
di database. - Jika username ditemukan, kode akan memverifikasi password menggunakan password_verify() (untuk membandingkan password hash).
- Jika login berhasil, session akan diset dan pengguna akan diberi pesan selamat datang.
Langkah 4: Menambahkan Fitur Registrasi Pengguna (Opsional)
Jika kamu juga ingin menambahkan fitur registrasi pengguna, kamu bisa membuat form registrasi yang mengirim data ke file PHP untuk menyimpan data pengguna baru ke dalam database.
Buat file bernama register.html
dan masukkan kode berikut:
Kemudian, buat file PHP untuk memproses registrasi, yaitu register.php
:
Langkah 5: Menambahkan Keamanan
Untuk membuat form login dan registrasi lebih aman, kamu bisa menambahkan beberapa langkah berikut:
- Gunakan prepared statements untuk mencegah SQL Injection.
- Pastikan password disimpan menggunakan password hashing (sudah diterapkan di tutorial ini dengan
password_hash()
danpassword_verify()
). - Gunakan SSL (Secure Sockets Layer) untuk mengenkripsi komunikasi antara pengguna dan server.
Kesimpulan
Dengan mengikuti tutorial form login PHP dan MySQL ini, kamu sekarang udah berhasil bikin sistem login dan registrasi yang terhubung langsung dengan database. Proses ini bisa kamu kembangkan lebih lanjut, misalnya dengan menambahkan fitur-fitur lain seperti pengingat password atau verifikasi email.
Ingat, selalu utamakan keamanan saat bikin aplikasi web, terutama yang melibatkan autentikasi pengguna. Dengan begitu, aplikasi yang kamu buat bakal lebih aman dan siap digunakan.
Semoga tutorial ini berguna! Jangan lupa coba kode-kode yang udah aku kasih dan sesuaikan dengan kebutuhan aplikasi kamu, ya.