当前位置:首页 > PHP

php实现登录页面跳转

2026-01-29 04:05:36PHP

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实现登录页面跳转

<?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实现登录页面跳转

<?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 登录页面跳转功能,同时增强了安全性。

标签: 跳转页面
分享给朋友:

相关文章

vue实现页面属性修改

vue实现页面属性修改

Vue 实现页面属性修改的方法 Vue 提供了多种方式来动态修改页面属性,包括数据绑定、计算属性、侦听器等。以下是几种常见的方法: 数据绑定 通过 v-bind 指令或简写 : 实现动态绑定 HTM…

h5实现登录页面跳转页面跳转页面跳转页面

h5实现登录页面跳转页面跳转页面跳转页面

实现登录页面跳转的方法 在H5中实现登录页面跳转可以通过多种方式完成,以下是一些常见的方法: 使用JavaScript的window.location方法 通过JavaScript的window.l…

h5实现网页跳转

h5实现网页跳转

H5实现网页跳转的方法 在HTML5中,可以通过多种方式实现网页跳转。以下是几种常见的方法: 使用<a>标签 通过超链接标签实现跳转是最传统的方式: <a href="h…

vue实现页面

vue实现页面

Vue 实现页面的基本方法 安装 Vue.js 依赖 通过 npm 或 yarn 安装 Vue.js: npm install vue # 或 yarn add vue 创建 Vue 实例 在…

vue实现结算页面

vue实现结算页面

Vue 实现结算页面的方法 数据绑定与表单验证 使用 Vue 的 v-model 实现表单数据的双向绑定,确保用户输入的数据能够实时更新到 Vue 实例中。例如,绑定收货地址、支付方式等表单字段。…

jquery加载页面

jquery加载页面

jQuery 加载页面内容的方法 使用 .load() 方法 通过 AJAX 请求加载远程数据并插入到指定元素中。适用于加载部分页面片段。 $("#targetElement").load("ex…