【问题标题】:PHP Session variables not passing but the session ids are the samePHP 会话变量未通过,但会话 ID 相同
【发布时间】:2017-02-03 19:37:38
【问题描述】:

** 已解决 ** - 服务器问题

如上所述,两个页面上的会话 ID 相同,但我无法访问会话变量。我需要 Session 来创建一个更大的项目来测试它。我不知道为什么,因为 ID 相同。

首页:

<?php session_start();
echo "session started"
?>
<!DOCTYPE html>
<html>
<body>

<?php
// Set session variables
$_SESSION["favcolor"] = "green";
$_SESSION["favanimal"] = "cat";
echo "Session variables are set.";
echo "<br>";
print_r(session_id());
echo "<br>";
echo "<a href='use.php'>Display</a>"
?>

</body>
</html>

第二页:

<?php session_start();
?>
<!DOCTYPE html>
<html>
<body>

<?php
// Echo session variables that were set on previous page
echo "Favorite color is " . $_SESSION["favcolor"] . ".<br>";
echo "Favorite animal is " . $_SESSION["favanimal"] . ".";
echo "<br>";
print_r(session_id());
?>

</body>
</html>

【问题讨论】:

  • 你得到什么输出?
  • 我看到echo "&lt;a href='use.php'&gt;Display&lt;/a&gt;" 行不以分号结尾。但这可能不是会话未设置的问题。
  • @Rajesh 当您以?&gt; 结束时,您不需要在最后一行添加;。如果你写&lt;?php echo 'one' ?&gt;&lt;?php echo 'two' ?&gt; 它仍然有效。 stackoverflow.com/questions/2038745/…
  • 会话未按预期工作的另一个可能原因是您在第一个 'session_start() 之前有意外的空白或其他输出。请启用 error_reporting。

标签: php session


【解决方案1】:

对于有同样问题的人: 问题是服务器(需要您的 uni 登录的大学项目服务器)需要登录才能访问任何文件。该登录启动了一个会话。当我想开始另一个会话时,它只是没有用。解决方案您应该使用不需要登录的服务器,然后您可以开始自己的会话。

【讨论】:

    猜你喜欢
    • 2012-04-30
    • 1970-01-01
    • 2013-08-11
    • 1970-01-01
    • 2011-12-07
    • 1970-01-01
    • 2010-12-30
    • 1970-01-01
    • 2011-08-28
    相关资源
    最近更新 更多