登录页面php实现
创建基础HTML结构
构建一个简单的HTML表单,包含用户名和密码输入框。表单的action属性指向处理登录的PHP文件(如login.php),方法设置为POST。
<!DOCTYPE html>
<html>
<head>
<title>登录页面</title>
</head>
<body>
<form action="login.php" method="POST">
<label for="username">用户名:</label>
<input type="text" id="username" name="username" required>
<br>
<label for="password">密码:</label>
<input type="password" id="password" name="password" required>
<br>
<input type="submit" value="登录">
</form>
</body>
</html>
处理登录逻辑(login.php)
在PHP文件中验证用户提交的数据。模拟检查用户名和密码是否匹配预设值(实际项目中需连接数据库)。
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$username = $_POST['username'];
$password = $_POST['password'];
// 示例验证(实际需替换为数据库查询)
$valid_username = 'admin';
$valid_password = '123456';
if ($username === $valid_username && $password === $valid_password) {
echo "登录成功!欢迎, " . htmlspecialchars($username);
} else {
echo "用户名或密码错误!";
}
}
?>
添加安全性措施
防止SQL注入和XSS攻击:
- 使用
htmlspecialchars()过滤输出内容。 - 实际项目中应使用预处理语句(如PDO或MySQLi)处理数据库查询。
// 示例:PDO预处理语句(需提前配置数据库连接)
$stmt = $pdo->prepare("SELECT * FROM users WHERE username = :username");
$stmt->bindParam(':username', $username);
$stmt->execute();
$user = $stmt->fetch();
会话管理
登录成功后启动会话并存储用户信息,用于后续页面权限控制。
session_start();
$_SESSION['username'] = $username;
header("Location: dashboard.php"); // 跳转到受保护页面
exit();
密码加密
存储密码时使用password_hash(),验证时使用password_verify()。
// 注册时加密密码
$hashed_password = password_hash($password, PASSWORD_DEFAULT);
// 登录时验证密码
if (password_verify($password, $hashed_password_from_database)) {
// 验证通过
}
完整示例代码
整合上述步骤的完整登录流程代码可在GitHub等平台找到,例如搜索“PHP login system with session”获取开源项目参考。







