【问题标题】:session in php works only on the same page, but does not work on other pages in the same websitephp中的session只在同一个页面有效,对同一个网站的其他页面无效
【发布时间】:2019-03-27 15:17:38
【问题描述】:

我有两个简单的页面(test.php,test2.php)。

test.php

<?php
session_start();
$_SESSION['username'] = "wria";
echo '<a href = "test2.php">click to another page</a> <br>';

if($_SESSION['username']) {
echo $_SESSION['username'];
}
?>

test2.php

<?php
session_start();
var_dump($_SESSION);
if($_SESSION['username']) {
echo $_SESSION['username'];
}
?>

在输出中, 当我打开 test.php 时,刷新后

但是当我转到test2.php时,出现输出:

什么都没显示。

注意:此文件位于真实主机上,而非本地。

【问题讨论】:

  • error_reporting(E_ALL); ini_set('display_errors', '1');
  • 你确定这就是这两个文件中的所有代码吗?
  • 是的,这就是我拥有的所有代码。
  • 检查 href="" 中的协议 HTTP/HTTPS 或域是否有 www
  • 还有错误吗?

标签: php session


【解决方案1】:

您保存会话的路径不可用。您必须将其更改为可用的位置。 您可以在 php.ini 中更改

【讨论】:

    【解决方案2】:

    我认为问题出在您的服务器配置上。您在当地环境中尝试过吗?以下是一些帮助您调试此问题的步骤,来自PHP session lost after redirect

    首先,进行这些常规检查:

    1. 确保 session_start();在调用任何会话之前调用。所以一个安全的选择是将它放在页面的开头,在打开之后立即
    2. 标头重定向后,使用 exit() 结束当前脚本; (其他人也建议 session_write_close(); 和 session_regenerate_id(true),你也可以试试,但我会用 exit();)
    3. 确保在您用于测试的浏览器中启用了 cookie。
    4. 确保 register_globals 已关闭,您可以在 php.ini 文件中检查此项,也可以使用 phpinfo()。
    5. 确保您没有删除或清空会话
    6. 确保 $_SESSION 超全局数组中的键没有被覆盖
    7. 确保重定向到同一个域。因此,从 www.yourdomain.com 重定向到 yourdomain.com 不会继续会话。
    8. 确保您的文件扩展名是 .php(它发生了!)

    您可能还必须像我链接的帖子中所说的那样配置 session_save_path。

    【讨论】:

      【解决方案3】:

      如果您添加此代码: 错误报告(E_ALL); ini_set('display_errors', 1); 到 test2.php 的顶部,你会看到你的错误。 如果您看到(没有此类文件或目录),则表示您保存的会话不可用,您可以将其更改为其他位置。 或者您可能没有该会话将保存在其上的文件夹的权限。

      【讨论】:

      • 谢谢,你的回答很好,我试过了。它是正确的。再次感谢您。
      【解决方案4】:

      您可能不会以任何方式保留会话 ID,并且每次都会打开新会话。

      请查看https://www.php.net/manual/en/session.idpassing.php

      有几种方法可以“解决”它,使用 cookie、GET 参数等。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-01-14
        • 2023-04-11
        • 2018-02-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多