Cara Membuat Register User dengan PHP dan MySQL untuk Pemula
Panduan lengkap cara membuat sistem registrasi user dengan PHP dan MySQL. Termasuk form pendaftaran, validasi input, dan penyimpanan data ke database menggunakan password hash untuk keamanan maksimal.
Pengenalan Sistem Register
Register atau pendaftaran pengguna adalah fitur penting dalam aplikasi web. Dengan sistem ini, pengguna dapat membuat akun baru yang tersimpan dalam database, sehingga bisa login dan mengakses fitur khusus sesuai hak aksesnya.
Struktur Database MySQL
Buat tabel users di database Anda:
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50) UNIQUE,
password VARCHAR(255),
email VARCHAR(100),
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
Form Registrasi User
Buat file register.php untuk menampilkan form input:
<!DOCTYPE html>
<html lang="id">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Form Register User</title>
</head>
<body>
<h2>Form Registrasi Pengguna</h2>
<form action="register.php" method="POST">
<label>Username:</label><br>
<input type="text" name="username" required><br><br>
<label>Email:</label><br>
<input type="email" name="email" required><br><br>
<label>Password:</label><br>
<input type="password" name="password" required><br><br>
<button type="submit" name="register">Daftar</button>
</form>
</body>
</html>
Koneksi ke Database
Buat file koneksi.php untuk menghubungkan PHP dengan MySQL:
<?php
$host = "localhost";
$user = "root";
$pass = "";
$db = "belajarphp";
$conn = mysqli_connect($host, $user, $pass, $db);
if (!$conn) {
die("Koneksi gagal: " . mysqli_connect_error());
}
?>
Proses Register User
Tambahkan kode PHP berikut di atas form register.php untuk memproses pendaftaran:
<?php
include 'koneksi.php';
if (isset($_POST['register'])) {
$username = htmlspecialchars($_POST['username']);
$email = htmlspecialchars($_POST['email']);
$password = password_hash($_POST['password'], PASSWORD_DEFAULT);
$check = mysqli_query($conn, "SELECT * FROM users WHERE username='$username'");
if (mysqli_num_rows($check) > 0) {
echo "Username sudah digunakan!";
} else {
$query = "INSERT INTO users (username, email, password)
VALUES ('$username', '$email', '$password')";
if (mysqli_query($conn, $query)) {
echo "Registrasi berhasil! Silakan <a href='login.php'>login</a>.";
} else {
echo "Terjadi kesalahan: " . mysqli_error($conn);
}
}
}
?>
Penjelasan Kode
- password_hash() digunakan untuk mengenkripsi password agar lebih aman.
- htmlspecialchars() mencegah serangan XSS dari input pengguna.
- mysqli_num_rows() memastikan username belum terdaftar sebelumnya.
Menambahkan Validasi Tambahan
Anda bisa menambahkan logika tambahan seperti:
- Pastikan password minimal 6 karakter.
- Cek apakah email valid dengan
filter_var($email, FILTER_VALIDATE_EMAIL). - Gunakan pesan error yang jelas bagi pengguna.
Kesimpulan
Membuat sistem register user dengan PHP dan MySQL tidak sulit jika memahami konsep form input, koneksi database, dan keamanan password. Dengan contoh di atas, Anda sudah bisa membuat sistem registrasi sederhana yang aman dan siap dikembangkan.
Internal Link Terkait:
- Cara Membuat Login Sederhana dengan PHP
- Validasi Form dengan PHP: Praktik Terbaik untuk Pemula
- Fungsi dalam PHP: Cara Membuat dan Menggunakannya
FAQ (Pertanyaan Umum)
1. Bagaimana cara mengamankan password pengguna di PHP?
Gunakan fungsi password_hash() untuk menyimpan password dalam bentuk terenkripsi, dan password_verify() untuk memeriksanya saat login.
2. Apakah sistem register ini bisa digabung dengan sistem login?
Ya, Anda dapat menambahkan file login.php dan menggunakan session untuk mengelola status login pengguna.
3. Bagaimana cara mencegah username ganda saat registrasi?
Gunakan perintah SELECT untuk memeriksa apakah username sudah ada sebelum menyimpan data baru.
4. Apakah perlu verifikasi email setelah registrasi?
Disarankan ya. Anda dapat mengirim email verifikasi menggunakan PHPMailer agar akun lebih valid dan aman.
5. Bagaimana jika koneksi database gagal?
Pastikan konfigurasi host, username, password, dan nama database benar. Tambahkan pengecekan error dengan mysqli_connect_error() agar mudah dideteksi.
Tags: #PHP #MySQL #RegisterUser #BelajarPHP #TutorialWeb #KeamananWebsite
Artikel Lainnya:
- Panduan Lengkap Mobile JKN: Cara Instal & Daftar Antrian Online Puskesmas Ajibarang I
- Cara Mencegah SQL Injection di PHP & MySQL (Keamanan Web Klinik)
- Cara Membuat Sistem Login Multi-Level (Admin, Bidan/Dokter, Pasien) di PHP & MySQL
- Cara Membuat Desain Database Sistem Rekam Medis MySQL (Relasi One-to-Many)
- Mudahnya Membuat Link Chat Langsung dengan WA Generator imandroid.web.id
Belum ada komentar. Jadilah yang pertama berkomentar!