Membuat sistem signup dan login dengan level user menggunakan PHP dan MySQL melibatkan beberapa langkah: merancang database, membuat formulir HTML untuk signup dan login, menulis skrip PHP untuk menangani pendaftaran dan autentikasi, serta mengatur level akses pengguna. Berikut adalah panduan langkah demi langkah:
### 1. Membuat Database
Pertama, buat database dan tabel pengguna dengan level akses.
```sql
CREATE DATABASE user_management;
USE user_management;
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50) NOT NULL UNIQUE,
password VARCHAR(255) NOT NULL,
email VARCHAR(100) NOT NULL UNIQUE,
user_level ENUM('admin', 'user') DEFAULT 'user'
);
```
### 2. Formulir Signup (signup.php)
Buat halaman HTML untuk pendaftaran pengguna baru.
```html
<!DOCTYPE html>
<html>
<head>
<title>Signup</title>
</head>
<body>
<h2>Signup</h2>
<form action="signup_process.php" method="POST">
<label for="username">Username:</label>
<input type="text" id="username" name="username" required><br>
<label for="email">Email:</label>
<input type="email" id="email" name="email" required><br>
<label for="password">Password:</label>
<input type="password" id="password" name="password" required><br>
<label for="user_level">Level:</label>
<select id="user_level" name="user_level" required>
<option value="user">User</option>
<option value="admin">Admin</option>
</select><br>
<input type="submit" value="Signup">
</form>
</body>
</html>
```
### 3. Proses Signup (signup_process.php)
Skrip PHP untuk menangani data pendaftaran dan menyimpannya di database.
```php
<?php
require 'koneksi.php';
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$username = $_POST['username'];
$email = $_POST['email'];
$password = password_hash($_POST['password'], PASSWORD_BCRYPT); // Hashing password
$user_level = $_POST['user_level'];
// Menggunakan prepared statement untuk menghindari SQL injection
$stmt = $conn->prepare("INSERT INTO users (username, email, password, user_level) VALUES (?, ?, ?, ?)");
$stmt->bind_param("ssss", $username, $email, $password, $user_level);
if ($stmt->execute()) {
echo "Pendaftaran berhasil";
} else {
echo "Error: " . $stmt->error;
}
$stmt->close();
}
$conn->close();
?>
```
### 4. Koneksi Database (koneksi.php)
Skrip PHP untuk menghubungkan ke database
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "user_management";
// Buat koneksi
$conn = new mysqli($servername, $username, $password, $dbname);
// Periksa koneksi
if ($conn->connect_error) {
die("Koneksi gagal: " . $conn->connect_error);
}
?>
Dengan langkah-langkah ini, Anda dapat membuat sistem signup dengan level pengguna menggunakan PHP dan MySQL.
No comments:
Post a Comment