PHP会话变量不会跨页面保留

时间:2013-11-15 02:58:48

标签: php session

我是PHP的新手,在使用PHP会话时我遇到了一些问题

假设我有一个包含此代码的文件(index2.php)。

<?php 
   session_start();
   $_SESSION['name'] = 'The User';
?>
<a href="index3.php">Click</a>

这是index3.php

<html>
   <head>
   </head>
   <body>
      <h1>
          <?php 
                 echo $_SESSION['name'];
          ?>
      </h1>
   </body>
</html>

由于某些原因我不明白,index3.php没有显示任何内容。我做错了什么?

谢谢!

2 个答案:

答案 0 :(得分:4)

index3.php中你也需要开始会话。根据{{​​3}}:

  

当调用session_start()或会话自动启动时,PHP会   调用open和read session save handlers。

使用您的示例,只需启动session_start(),如下所示:

<?php 
    session_start();
?>
<html>
   <head>
   </head>
   <body>
      <h1>
          <?php 
                 echo $_SESSION['name'];
          ?>
      </h1>
   </body>
</html>

答案 1 :(得分:2)

确保你也有session_start();在你想要保留和使用会话的所有php页面中;

确保index3.php包含session_start();