Hai semuanya!, pada kesempatan kali ini saya akan membagikan tutorial untuk membuat sistem login dan register pada PHP. Setidaknya Anda telah belajar CRUD PHP terlebih dahulu, baik menggunakan MySQLi Procedural, OOP, atau PHP PHP Data Objects. Akan tetapi saya akan menggunakan PHP PDO karena ada beberapa alasan utama yaitu sangat mudah digunakan untuk pindah ke Database Management System lain seperti SQLite, Postgresql, Redis, Informix, dan masih banyak lagi. Sedangkan untuk MySQLi hanya DBMS MySQL saja, bila Anda ingin pindah DBMS, Anda akan terpaksa mengubah semua skrip PHP Anda.
Daftar isi:
Baca juga:
Membuat nama basis data
Silakan jalankan skrip Structured Query Language berikut ini pada menu SQL di PHPMyAdmin Anda, ini akan membuat nama basis data baru yaitu tutorial_loginregister
. Anda bebas untuk mengubah nama basis data sesuai keinginan Anda. Berikut skrip SQL-Nya:
CREATE DATABASE tutorial_loginregister;
Struktur tabel users
Setelah membuat nama basis data silakan untuk menjalankan skrip ini juga, tetapi masuk dahulu ke dalam basis data tutorial_loginregister
. Kemudian jalankan perintah SQL berikut ini:
CREATE TABLE users (
id int(11) PRIMARY KEY AUTO_INCREMENT,
username varchar(30),
password varchar(255),
role enum('admin','member','','') DEFAULT 'member'
);
Catatan: Saya menambahkan tipe
enum
untuk membuat multiuser yaitu admin dan member.
Masukan data ke tabel users
Skrip ini akan menambahkan data pada tabel users, hal ini saya lakukan sebagai cara awal untuk menambahkan data secara langsung ke tabel basis data Anda. Biasanya setelah menambah tabel secara otomatis akan masuk ke tabel yang telah dibuat, salin skrip SQL berikut dan jalankan.
INSERT INTO users (username, password, role) VALUES
('admin', '$2y$10$PiNQSFA4C4VXrEVscsHls.uxkPx/dJ8I99gjEClrLaZvEmp0v3Jk2', 'admin'),
('member', '$2y$10$PiNQSFA4C4VXrEVscsHls.uxkPx/dJ8I99gjEClrLaZvEmp0v3Jk2', 'member');
Catatan: Saya telah membuat kata sandi (password) yang telah di hashing terlebih dahulu, agar nanti Anda tidak perlu mengubahnya langsung pada basis data Anda. Jika Anda sudah masuk ke fitur login dan akan membahas password_verify().