php实现简单注册
PHP 实现简单用户注册功能
创建注册表单 (HTML)
在 register.php 文件中创建一个基础表单:
<form action="process_register.php" method="post">
<label>用户名:</label>
<input type="text" name="username" required>
<label>邮箱:</label>
<input type="email" name="email" required>
<label>密码:</label>
<input type="password" name="password" required>
<label>确认密码:</label>
<input type="password" name="confirm_password" required>
<button type="submit">注册</button>
</form>
处理注册逻辑 (PHP)
在 process_register.php 中处理表单提交:

<?php
// 连接数据库
$conn = new mysqli('localhost', 'username', 'password', 'database');
// 检查连接
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
// 获取表单数据
$username = $_POST['username'];
$email = $_POST['email'];
$password = $_POST['password'];
$confirm_password = $_POST['confirm_password'];
// 验证密码匹配
if ($password !== $confirm_password) {
die("密码不匹配");
}
// 密码哈希处理
$hashed_password = password_hash($password, PASSWORD_DEFAULT);
// 准备SQL语句
$stmt = $conn->prepare("INSERT INTO users (username, email, password) VALUES (?, ?, ?)");
$stmt->bind_param("sss", $username, $email, $hashed_password);
// 执行SQL
if ($stmt->execute()) {
echo "注册成功";
} else {
echo "错误: " . $stmt->error;
}
$stmt->close();
$conn->close();
?>
创建用户表 (SQL)
执行以下SQL语句创建用户表:

CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50) NOT NULL,
email VARCHAR(100) NOT NULL UNIQUE,
password VARCHAR(255) NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
安全增强措施
添加输入验证和过滤:
$username = filter_input(INPUT_POST, 'username', FILTER_SANITIZE_STRING);
$email = filter_input(INPUT_POST, 'email', FILTER_SANITIZE_EMAIL);
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
die("无效的邮箱格式");
}
错误处理和重定向
改进用户体验:
// 执行SQL后
if ($stmt->execute()) {
header("Location: success.php");
exit();
} else {
header("Location: register.php?error=registration_failed");
exit();
}
这个实现包含了基本的注册功能,包括表单处理、数据库操作和简单的安全措施。可以根据需要进一步扩展,如添加验证码、邮箱验证等功能。






