重定向到另一个页面后检索session_id()时出错

时间:2011-01-10 23:11:46

标签: php session redirect

非常黑的问题。

我想使用Post / Redirect / Get模式在PHP中开发一个登录表单。包含登录表单的页面如下所示:

<?php
  if (try_login()) {
    session_regenerate_id();
    session_start();
    header('Location: main.php');
    exit();
  }
?>
<html>
  <head>
    <!-- etc, etc -->
  </head>
  <body>
    <form action="<?php echo htmlentities($_SESSION['PHP_SELF']); ?>" method="post">
      <!-- etc, etc--></head>
    </form>
  </body>
</html>

出于调试目的,main.php仅包含

<?php
  echo htmlentities(session_id());
?>

我希望在成功登录后转到main.php并显示我的session_id()。但是,当我自己测试登录表单时,我被重定向到main.php,但我的session_id()没有出现。我的代码出了什么问题?

1 个答案:

答案 0 :(得分:3)

您需要在session_start()中致电main.php,然后才能检索会话。