Membuat Signup dengan PHP

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