2013-11-15 98 views
1

我新的PHP和我面临的一些问题与PHP会议工作时PHP Session变量不会保留

比方说,我有一个文件(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不显示任何内容。我究竟做错了什么?

谢谢!

回答

4

index3.php您还需要启动会话。由于每official PHP docs

当在session_start()被调用或当会话自动启动,PHP将 调用打开并阅读会话保存处理。

使用你的榜样,只是启动session_start()如下:

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

良好的建议,但实施不善。在**输出开始之前需要设置会话头** – Phil

+0

谢谢!固定。不胜感激! – JakeGould

+1

谢谢!那就是诀窍。我知道session_start调用必须在任何输出到客户端之前完成。 – Augusto

2

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

确保index3.php包含session_start();