【发布时间】:2018-11-19 01:32:38
【问题描述】:
我对此很陌生,所以如果这个问题很明显,我深表歉意。找了很久的答案。
我正在为在重定向上使用 $_SESSION 变量而苦苦挣扎。我在一个页面中设置变量并尝试在另一个页面中读取它,用户从第一页重定向到该页面。由于某种原因,第二页无法读取该变量。到目前为止,这是我的代码:
PHP 页面 1:
<?php
if(!session_id()) session_start();
$_SESSION['someVar'] = "someValue";
echo "<script type='text/javascript'>window.location.href='/index.php';</script>";
PHP第2页(index.php):
<?php
if(!session_id()) session_start();
if (empty($_SESSION["someVar"])) {
echo "no value!";
} else {
echo $_SESSION["someVar"];
}
?>
我总是得到“没有价值!”。我已经尝试了几件事来解决这个问题:
- 我将重定向分离到第 1 页上的按钮上。没有帮助。
- 我回显了第 2 页上的值 - 它显示为空字符串。
- 我在两个页面上都回显了 session_id(),并且它们匹配。
所有这一切真正令人讨厌的是,当我在本地运行代码时(使用虚拟主机),代码可以完美运行。只有当我将它加载到“真实”服务器上时我才会失败,这向我表明问题出在其他地方,但我不知道去哪里找。
【问题讨论】:
-
检查 PHP 错误日志中的“标头已发送”警告。