


How to use PHP to write a login registration system with email verification function?
How to use PHP to write a login registration system with email verification function?
In the current Internet era, the login and registration system is one of the basic functions of various websites or applications. In order to improve security and user experience, users are often required to verify their email address when registering. This article will introduce how to use PHP to write a login registration system with email verification function.
1. Set up a development environment
First, we need to set up a PHP development environment. After installing PHP, you can choose to use a ready-made integrated development environment (such as XAMPP, WAMP, etc.) or configure Apache and MySQL yourself. Make sure the development environment is running properly.
2. Create a database
We need to create a MySQL database to store user information. You can use phpMyAdmin or the command line to create a database and create a data table named "users", including fields: id, username, email, password, is_verified.
Code example:
CREATE TABLE users (
id INT(11) AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(100) NOT NULL,
email VARCHAR(100) NOT NULL,
password VARCHAR(255) NOT NULL,
is_verified INT(1) DEFAULT 0
);
3. Write the registration page
Next, create a page named “register. php" file, used to implement the user registration function. The registration page contains a form that requires users to enter their username, email, and password, as well as a registration button. After the user clicks the registration button, the back-end code is executed to save the user information to the database and send a verification email to the user.
Code example:
//Connect to the database
$conn = new mysqli('localhost', 'root', '', 'database name' );
// Process the registration request submitted by the user
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$username = $_POST['username']; $email = $_POST['email']; $password = $_POST['password']; // 生成随机验证码 $verification_code = md5(uniqid(rand(), true)); // 插入用户数据到数据库 $query = "INSERT INTO users (username, email, password) VALUES ('$username', '$email', '$password')"; $result = $conn->query($query); if ($result) { // 发送验证邮件 $subject = "邮箱验证"; $message = "点击链接验证您的邮箱:<a href='http://你的网站域名/verify.php?code=$verification_code'>点击此处</a>"; $headers = "From: your-email@gmail.com
";
$headers .= "Content-Type: text/html; charset=UTF-8
";
mail($email, $subject, $message, $headers); echo "注册成功,请查收邮件进行邮箱验证。"; } else { echo "注册失败,请重试。"; }
}
?>
4. Verification Email
We also need to create a file named "verify.php" to verify the user mailbox. When the user clicks on the verification link, the backend code is executed to update the verification status to Verified.
Code example:
//Connect to the database
$conn = new mysqli('localhost', 'root', '', 'database name' );
// Process email verification request
if (isset($_GET['code'])) {
$verification_code = $_GET['code']; // 更新验证状态 $query = "UPDATE users SET is_verified = 1 WHERE verification_code = '$verification_code'"; $result = $conn->query($query); if ($result) { echo "邮箱验证成功!"; } else { echo "邮箱验证失败,请重试。"; }
}
?>
5. Implement login
Finally, we create a file named "login.php" to implement the user login function. The login page contains a form that requires the user to enter their email and password, as well as a login button. After the user clicks the login button, the back-end code is executed to verify the user's email and password, and corresponding operations are performed based on the verification results.
Code example:
//Connect to the database
$conn = new mysqli('localhost', 'root', '', 'database name' );
// Process the login request submitted by the user
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$email = $_POST['email']; $password = $_POST['password']; // 查询用户信息 $query = "SELECT * FROM users WHERE email = '$email' AND password = '$password' AND is_verified = 1"; $result = $conn->query($query); if ($result->num_rows > 0) { // 登录成功 echo "登录成功!"; } else { echo "邮箱或密码错误,或邮箱未验证。"; }
}
?>

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



PHP 8.4 brings several new features, security improvements, and performance improvements with healthy amounts of feature deprecations and removals. This guide explains how to install PHP 8.4 or upgrade to PHP 8.4 on Ubuntu, Debian, or their derivati

CakePHP is an open-source framework for PHP. It is intended to make developing, deploying and maintaining applications much easier. CakePHP is based on a MVC-like architecture that is both powerful and easy to grasp. Models, Views, and Controllers gu

To work on file upload we are going to use the form helper. Here, is an example for file upload.

Visual Studio Code, also known as VS Code, is a free source code editor — or integrated development environment (IDE) — available for all major operating systems. With a large collection of extensions for many programming languages, VS Code can be c

This tutorial demonstrates how to efficiently process XML documents using PHP. XML (eXtensible Markup Language) is a versatile text-based markup language designed for both human readability and machine parsing. It's commonly used for data storage an

CakePHP is an open source MVC framework. It makes developing, deploying and maintaining applications much easier. CakePHP has a number of libraries to reduce the overload of most common tasks.

A string is a sequence of characters, including letters, numbers, and symbols. This tutorial will learn how to calculate the number of vowels in a given string in PHP using different methods. The vowels in English are a, e, i, o, u, and they can be uppercase or lowercase. What is a vowel? Vowels are alphabetic characters that represent a specific pronunciation. There are five vowels in English, including uppercase and lowercase: a, e, i, o, u Example 1 Input: String = "Tutorialspoint" Output: 6 explain The vowels in the string "Tutorialspoint" are u, o, i, a, o, i. There are 6 yuan in total

JWT is an open standard based on JSON, used to securely transmit information between parties, mainly for identity authentication and information exchange. 1. JWT consists of three parts: Header, Payload and Signature. 2. The working principle of JWT includes three steps: generating JWT, verifying JWT and parsing Payload. 3. When using JWT for authentication in PHP, JWT can be generated and verified, and user role and permission information can be included in advanced usage. 4. Common errors include signature verification failure, token expiration, and payload oversized. Debugging skills include using debugging tools and logging. 5. Performance optimization and best practices include using appropriate signature algorithms, setting validity periods reasonably,
