$ _SESSION变量不在页面之间传输

时间:2009-06-23 12:13:54

标签: php session

如果我写下面的代码:

session_start();
$_SESSION['user_id']='daniel';

只要我在创建它的页面上,变量就会保持正常,而第二次尝试从另一个页面调用$_SESSION['user_id']时,我没有得到回复。 谁能告诉我我犯了什么错误?

4 个答案:

答案 0 :(得分:13)

您应该在要使用会话的每个页面上使用session_start()

答案 1 :(得分:4)

只要:

  • 您正在另一页上执行session_start()注意:您不会拨打此电话一次。您可以在每个想要访问会话信息的页面上执行此操作;
  • 另一页可以从这个网站看到你的cookie(即足够相似的域名);和
  • 另一个页面在同一台服务器上运行。
然后它可以看到它。构建一个简单的测试用例并对其进行验证,然后找出为什么你所做的不同。

答案 2 :(得分:1)

您必须在每页

session_start()

答案 3 :(得分:1)

确保实际设置了PHPSESSID cookie,并且在调用session_start()之前没有发送任何标头/内容