php实现会员登录
实现会员登录的基本步骤
数据库准备
创建用户表,包含字段如id、username、password(需加密存储)、email等。使用MySQL示例:
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()加密:

$hashedPassword = password_hash($_POST['password'], PASSWORD_DEFAULT);
登录表单设计
创建HTML表单(login.php):

<form action="authenticate.php" method="post">
<input type="text" name="username" placeholder="用户名" required>
<input type="password" name="password" placeholder="密码" required>
<button type="submit">登录</button>
</form>
验证逻辑实现
创建认证脚本(authenticate.php):
session_start();
$pdo = new PDO('mysql:host=localhost;dbname=your_db', 'username', 'password');
$stmt = $pdo->prepare("SELECT id, username, password FROM users WHERE username = ?");
$stmt->execute([$_POST['username']]);
$user = $stmt->fetch();
if ($user && password_verify($_POST['password'], $user['password'])) {
$_SESSION['user_id'] = $user['id'];
$_SESSION['username'] = $user['username'];
header('Location: dashboard.php');
} else {
echo "用户名或密码错误";
}
会话管理
登录成功后跳转到受保护页面(dashboard.php):
session_start();
if (!isset($_SESSION['user_id'])) {
header('Location: login.php');
exit;
}
echo "欢迎, " . $_SESSION['username'];
安全增强措施
使用预处理语句防止SQL注入。 设置HTTPS确保传输安全。 添加CSRF令牌防护。 实现登录失败次数限制。






