php实现登录页面跳转
PHP 实现登录页面跳转
创建登录表单
创建一个 HTML 表单用于用户输入用户名和密码,表单提交到 PHP 处理脚本。
<form action="login.php" method="post">
<label for="username">用户名:</label>
<input type="text" id="username" name="username" required>
<label for="password">密码:</label>
<input type="password" id="password" name="password" required>
<button type="submit">登录</button>
</form>
处理登录逻辑
在 login.php 中验证用户输入,验证成功后跳转到目标页面。

<?php
session_start();
// 假设正确的用户名和密码
$valid_username = 'admin';
$valid_password = 'password123';
// 获取表单提交的数据
$username = $_POST['username'] ?? '';
$password = $_POST['password'] ?? '';
// 验证用户名和密码
if ($username === $valid_username && $password === $valid_password) {
// 登录成功,设置会话变量
$_SESSION['logged_in'] = true;
$_SESSION['username'] = $username;
// 跳转到欢迎页面
header('Location: welcome.php');
exit;
} else {
// 登录失败,跳转回登录页面
header('Location: login.html');
exit;
}
?>
创建欢迎页面
在 welcome.php 中检查用户是否已登录,未登录则跳转回登录页面。
<?php
session_start();
// 检查用户是否登录
if (!isset($_SESSION['logged_in']) || $_SESSION['logged_in'] !== true) {
header('Location: login.html');
exit;
}
// 显示欢迎信息
echo "欢迎, " . htmlspecialchars($_SESSION['username']) . "!";
?>
安全性增强
使用密码哈希验证提高安全性,避免明文存储密码。

<?php
session_start();
// 假设存储的密码哈希
$valid_username = 'admin';
$valid_password_hash = password_hash('password123', PASSWORD_DEFAULT);
$username = $_POST['username'] ?? '';
$password = $_POST['password'] ?? '';
if ($username === $valid_username && password_verify($password, $valid_password_hash)) {
$_SESSION['logged_in'] = true;
$_SESSION['username'] = $username;
header('Location: welcome.php');
exit;
} else {
header('Location: login.html');
exit;
}
?>
防止表单重复提交
在表单中使用一次性 Token 防止 CSRF 攻击。
<?php
session_start();
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
if (!isset($_POST['csrf_token']) || $_POST['csrf_token'] !== $_SESSION['csrf_token']) {
die('CSRF 验证失败');
}
// 其他登录逻辑
}
?>
添加表单 Token
在登录表单中添加 CSRF Token。
<form action="login.php" method="post">
<input type="hidden" name="csrf_token" value="<?php echo $_SESSION['csrf_token'] = bin2hex(random_bytes(32)); ?>">
<!-- 其他表单字段 -->
</form>
通过以上步骤可以实现一个基本的 PHP 登录页面跳转功能,同时增强了安全性。






