You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

登录会话仅能在重定向页面访问,其他页面无法访问的问题求助

登录会话仅能在重定向页面访问,其他页面无法访问的问题求助

大家好,我最近在做一个基础的登录功能,碰到个头疼的问题:用户通过login.php登录成功后,重定向到的dashboard.php能正常读取会话里的用户名信息,但如果直接访问其他页面,或者从仪表盘跳转到别的页面,就完全获取不到会话数据了,想请大伙帮忙排查下问题出在哪。

先贴出我的代码:

login.php 代码

<?php
session_start(); // 我后来意识到可能漏加了这个,先补上?
// 假设这里已经有数据库连接 $conn 的初始化代码

if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $username = $_POST['username'];
    $password = $_POST['password'];

    $stmt = $conn->prepare("SELECT * FROM admin WHERE username=? AND password=?");
    $stmt->bind_param("ss", $username, $password);
    $stmt->execute();
    $result = $stmt->get_result();

    if ($result->num_rows > 0) {
        $_SESSION['username'] = $username;
        header("Location: dashboard.php");
        exit();
    } else {
        $error_message = "Invalid username or password";
    }
    $stmt->close();
}
?>

dashboard.php 代码

<?php
session_start();

if (isset($_SESSION['username'])) {
    echo "Logged in as: " . $_SESSION['username'];
} else {
    echo "You are not logged in.";
}
?>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Dashboard</title>
</head>
<body>
    <!-- 页面其他内容 -->
</body>
</html>

我自己琢磨是不是其他页面没加session_start()?但不确定有没有其他可能,比如会话的配置问题,或者重定向的时候有没有丢失会话标识?麻烦大家帮我看看~

备注:内容来源于stack exchange,提问作者Asad Khrd

火山引擎 最新活动