In this tutorial, we will create a simple PHP user authentication system. This system will include user registration, login, and logout functionalities. Let's break down the steps:
Step 1: Create a Database
Create a MySQL database to store user information. Use the following SQL query:
CREATE DATABASE IF NOT EXISTS mydatabase;
Step 2: Create a Users Table
Create a table to store user data within the database:
CREATE TABLE IF NOT EXISTS users (
id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(255) NOT NULL,
password VARCHAR(255) NOT NULL
);
Step 3: HTML Form for Registration
Create an HTML form for user registration:
<form action=`register.php` method=`post`>
<label for=`username`>Username:</label>
<input type=`text` name=`username` required>
<label for=`password`>Password:</label>
<input type=`password` name=`password` required>
<button type=`submit`>Register</button>
</form>
Step 4: PHP Script for User Registration
Create a PHP script (register.php) to handle user registration:
<?php
// Connect to the database
$conn = new mysqli(`localhost`, `username`, `password`, `mydatabase`);
// Check connection
if ($conn->connect_error) {
die(`Connection failed: ` . $conn->connect_error);
}
// Process registration form data
if ($_SERVER[`REQUEST_METHOD`] == `POST`) {
$username = $_POST[`username`];
$password = password_hash($_POST[`password`], PASSWORD_DEFAULT);
$sql = `INSERT INTO users (username, password) VALUES ('$username', '$password')`;
if ($conn->query($sql) === TRUE) {
echo `Registration successful!`;
} else {
echo `Error: ` . $sql . `
` . $conn->error;
}
}
// Close the database connection
$conn->close();
?>
This is a basic example to get you started. It's important to enhance security, handle errors, and implement features like password hashing, session management, and more for a production environment.
