0

我在本地 windows xp pc 上运行 xampp 1.7.3。phpinfo() 确认会话已启用。

在“login.php”中,我必须遵循以下代码:

session_start();
$_SESSION['user'] = "user";
//var_dump($_SESSION);
header("Location: index.php");

在'index.php'我有这个代码:

session_start();
var_dump($_SESSION);

但是,当我到达 index.php 时没有打印任何内容,$_SESSION 信息似乎丢失了(因为它是在我取消注释 login.php 中的 var_dump 时打印的)。在 php.ini 中,我检查了 session.save_path。在这个路径中,我可以找到一个会话文件,其中包含存储在 login.php 中的会话信息。但是为什么会话信息没有传递到index.php??这是出于某种原因,因为我在本地主机上运行吗?

4

1 回答 1

0

我不相信这会起作用,因为要使 $_SESSION 起作用,需要设置标题。

通过在脚本中间设置 header(),您可以防止 $_SESSION 被完全应用。

所以不要使用 header() 将位置更改为 index.php。您可以在 login.php 上放置一个链接,单击该链接转到 index.php,然后查看您的会话是否已正确配置。

您也可以在页面加载后使用 JavaScript 来更改页面,只是不要使用 PHP header()。

于 2012-07-25T01:41:00.647 回答