登陆页面php实现
创建基本HTML表单结构
使用HTML构建一个简单的登录表单,包含用户名和密码输入字段以及提交按钮。表单的action属性指向处理登录的PHP文件,method设置为POST以确保安全性。
<!DOCTYPE html>
<html>
<head>
<title>Login Page</title>
</head>
<body>
<form action="login.php" method="POST">
<label for="username">Username:</label>
<input type="text" id="username" name="username" required>
<label for="password">Password:</label>
<input type="password" id="password" name="password" required>
<button type="submit">Login</button>
</form>
</body>
</html>
处理表单提交的PHP逻辑
创建一个名为login.php的文件,用于验证用户提交的凭据。检查用户名和密码是否匹配预设值(实际应用中应使用数据库验证)。
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$username = $_POST['username'];
$password = $_POST['password'];
// 示例验证(实际应查询数据库)
$valid_username = 'admin';
$valid_password = 'password123';
if ($username === $valid_username && $password === $valid_password) {
echo "Login successful!";
// 可重定向到受保护页面:header('Location: dashboard.php');
} else {
echo "Invalid username or password.";
}
}
?>
增加会话管理
使用PHP会话(Session)在登录成功后跟踪用户状态。修改login.php以启动会话并存储用户信息。
<?php
session_start();
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$username = $_POST['username'];
$password = $_POST['password'];
$valid_username = 'admin';
$valid_password = 'password123';
if ($username === $valid_username && $password === $valid_password) {
$_SESSION['loggedin'] = true;
$_SESSION['username'] = $username;
header('Location: dashboard.php');
exit;
} else {
echo "Invalid credentials.";
}
}
?>
创建受保护页面示例
构建一个dashboard.php文件,检查会话状态以确定用户是否已登录。未登录用户将被重定向回登录页面。
<?php
session_start();
if (!isset($_SESSION['loggedin']) || $_SESSION['loggedin'] !== true) {
header('Location: login.html');
exit;
}
?>
<!DOCTYPE html>
<html>
<head>
<title>Dashboard</title>
</head>
<body>
<h1>Welcome, <?php echo $_SESSION['username']; ?>!</h1>
<a href="logout.php">Logout</a>
</body>
</html>
实现注销功能
创建logout.php文件销毁会话并重定向到登录页面。
<?php
session_start();
session_unset();
session_destroy();
header('Location: login.html');
exit;
?>
安全增强建议
在实际部署时需采取以下措施:
- 使用预处理语句防止SQL注入(如PDO或MySQLi)
- 对密码进行哈希处理(推荐使用
password_hash()和password_verify()) - 启用HTTPS加密传输数据
- 添加CSRF令牌防护
- 设置登录尝试次数限制防止暴力破解
密码哈希示例:
// 注册时哈希密码
$hashed_password = password_hash($password, PASSWORD_DEFAULT);
// 登录时验证
if (password_verify($input_password, $stored_hashed_password)) {
// 验证成功
}






