📘 Lesson · Lesson 40
Login & Registration System
Login & Registration System
About this Project
A login and registration system is the most common PHP project. This uses PDO + password hashing for security.
Users Table
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50),
email VARCHAR(100) UNIQUE,
password VARCHAR(255)
);
Registration (register.php)
$name = $_POST["name"];
$email = $_POST["email"];
$hash = password_hash($_POST["password"], PASSWORD_DEFAULT);
$stmt = $pdo->prepare("INSERT INTO users (name,email,password) VALUES (?,?,?)");
$stmt->execute([$name, $email, $hash]);
echo "Registered!";
Login (login.php)
$stmt = $pdo->prepare("SELECT * FROM users WHERE email = ?");
$stmt->execute([$_POST["email"]]);
$user = $stmt->fetch();
if ($user && password_verify($_POST["password"], $user["password"])) {
session_start();
$_SESSION["user_id"] = $user["id"];
echo "Login successful";
} else {
echo "Invalid credentials";
}
Summary
- Store hashed passwords with password_hash; verify with password_verify.
- Use PDO prepared statements and sessions to keep users logged in.
इस Project के बारे में
Login और registration system सबसे common PHP project है। यह security के लिए PDO + password hashing use करता है।
Users Table
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50),
email VARCHAR(100) UNIQUE,
password VARCHAR(255)
);
Registration (register.php)
$name = $_POST["name"];
$email = $_POST["email"];
$hash = password_hash($_POST["password"], PASSWORD_DEFAULT);
$stmt = $pdo->prepare("INSERT INTO users (name,email,password) VALUES (?,?,?)");
$stmt->execute([$name, $email, $hash]);
echo "Registered!";
Login (login.php)
$stmt = $pdo->prepare("SELECT * FROM users WHERE email = ?");
$stmt->execute([$_POST["email"]]);
$user = $stmt->fetch();
if ($user && password_verify($_POST["password"], $user["password"])) {
session_start();
$_SESSION["user_id"] = $user["id"];
echo "Login successful";
} else {
echo "Invalid credentials";
}
सारांश
- password_hash से hashed passwords store करें; password_verify से verify करें।
- PDO prepared statements और sessions use करें users को logged in रखने को।