php实现登陆注册
PHP 登录注册实现
数据库准备
创建用户表,包含必要字段如用户名、密码(需加密)、邮箱等。示例 SQL:
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50) NOT NULL UNIQUE,
password VARCHAR(255) NOT NULL,
email VARCHAR(100) NOT NULL UNIQUE,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
注册功能实现
处理用户提交的注册表单数据,验证后存入数据库。密码使用 password_hash 加密:
// 注册处理逻辑
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$username = trim($_POST['username']);
$password = password_hash($_POST['password'], PASSWORD_DEFAULT);
$email = filter_var($_POST['email'], FILTER_SANITIZE_EMAIL);
// 插入数据库
$stmt = $pdo->prepare("INSERT INTO users (username, password, email) VALUES (?, ?, ?)");
$stmt->execute([$username, $password, $email]);
}
登录功能实现
验证用户提交的登录信息,使用 password_verify 匹配密码:
// 登录处理逻辑
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$username = $_POST['username'];
$password = $_POST['password'];
$stmt = $pdo->prepare("SELECT * FROM users WHERE username = ?");
$stmt->execute([$username]);
$user = $stmt->fetch();
if ($user && password_verify($password, $user['password'])) {
$_SESSION['user_id'] = $user['id'];
header('Location: dashboard.php');
}
}
会话管理
登录成功后使用 session_start() 维持用户状态:
// 检查登录状态
session_start();
if (!isset($_SESSION['user_id'])) {
header('Location: login.php');
exit;
}
安全注意事项
- 使用预处理语句防止 SQL 注入
- 对用户输入进行过滤和验证
- 密码必须加密存储
- 使用 HTTPS 保护数据传输
- 设置 CSRF 令牌防止跨站请求伪造
前端表单示例
简单的 HTML 登录表单:

<form action="login.php" method="post">
<input type="text" name="username" required placeholder="用户名">
<input type="password" name="password" required placeholder="密码">
<button type="submit">登录</button>
</form>
完整实现需要考虑更多细节如错误处理、表单验证、密码重置等功能。以上代码提供了核心功能的实现框架。






