session_start不起作用:(

时间:2009-09-09 21:40:20

标签: php session function

我开始使用以下新会话:session_start(); 然后我设置了一些像这样的会话变量:

$_SESSION['name']=$_POST['name'];

和其他一些变量。

在页面底部,我将标题设置为不同的页面:

header('location: index.php');
exit();

现在在新页面(index.php)中,我无法访问我的会话变量,例如$_SESSION['name']

怎么了?

感谢。

2 个答案:

答案 0 :(得分:7)

您是否正在尝试访问已写入的session_start()变量的其他页面中调用$_SESSION?在尝试阅读任何内容之前,您也需要这样做,例如:

session_start();
$blah = $_SESSION['blah'];

答案 1 :(得分:4)

这是PHP,HTTP或您想要责怪的任何人的已知问题。基本上,您无法在同一请求中使用HTTP设置Cookie和重定向。当您开始尚未创建的会话时,您正在发送cookie。

两个选项:

  1. 在其他地方开始会议,或
  2. 发送强制重定向的JavaScript或使用元标记。
  3. 示例:

    <?php /* set session cookies */ ?>
    <script>window.location.replace("index.php");</script>