User Login & Registration

Database Structure (MySQL):

CREATE DATABASE userdb;
USE userdb;

CREATE TABLE users (
  id INT AUTO_INCREMENT PRIMARY KEY,
  username VARCHAR(50) UNIQUE,
  password VARCHAR(255)
);

Registration (register.php):

<?php
$conn = new mysqli("localhost", "root", "", "userdb");

if($_SERVER["REQUEST_METHOD"] == "POST"){
$username = $_POST&#91;'username'];
$password = password_hash($_POST&#91;'password'], PASSWORD_DEFAULT);
$sql = "INSERT INTO users (username, password) VALUES ('$username', '$password')";
if($conn-&gt;query($sql)) {
    echo "Registration successful! &lt;a href='login.php'&gt;Login&lt;/a&gt;";
} else {
    echo "Error: " . $conn-&gt;error;
}
} ?> <form method="post"> Username: <input type="text" name="username" required><br> Password: <input type="password" name="password" required><br> <input type="submit" value="Register"> </form>

Login (login.php):

<?php
session_start();
$conn = new mysqli("localhost", "root", "", "userdb");

if($_SERVER["REQUEST_METHOD"] == "POST"){
$username = $_POST&#91;'username'];
$password = $_POST&#91;'password'];
$sql = "SELECT * FROM users WHERE username='$username'";
$result = $conn-&gt;query($sql);
if($result-&gt;num_rows &gt; 0){
    $row = $result-&gt;fetch_assoc();
    if(password_verify($password, $row&#91;'password'])){
        $_SESSION&#91;'user'] = $username;
        echo "Login successful! &lt;a href='dashboard.php'&gt;Go to Dashboard&lt;/a&gt;";
    } else {
        echo "Invalid password!";
    }
} else {
    echo "User not found!";
}
} ?> <form method="post"> Username: <input type="text" name="username" required><br> Password: <input type="password" name="password" required><br> <input type="submit" value="Login"> </form>

Dashboard (dashboard.php):

<?php
session_start();
if(!isset($_SESSION['user'])) {
die("Access denied. &lt;a href='login.php'&gt;Login&lt;/a&gt;");
} echo "Welcome, " . $_SESSION['user']; echo " | <a href='logout.php'>Logout</a>"; ?>

Logout (logout.php):

<?php
session_start();
session_destroy();
echo "Logged out! <a href='login.php'>Login again</a>";
?>

Explanation:

  • User registers → data stored in MySQL database.
  • Passwords stored with hashing (password_hash).
  • User logs in → sessions keep track of login state.

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *