PHP - 凝视会话后缺少会话文件

时间:2012-10-15 13:03:12

标签: php session

我使用session_start()开始会话,我可以在$_SESSION中保存数据。在我尝试从会话中检索数据的帖子上,$_SESSION数据为NULL。我正在发布会话ID,然后调用session_id(passsedSessionID)然后调用session_start()但是该会话中的数据消失了。假设要写入session_save_path的会话文件不存在。

我猜这与未写入的会话文件有关。

更新找出问题所在。我没有给我存储会话数据的目录的php进程写权限。 : - /

2 个答案:

答案 0 :(得分:0)

只要$_SESSION全局变量仅为当前用户的会话返回数据,您就不需要每次都传递session_id。正如@Brian在评论中提到的那样,不要忘记确保session_start()位于代码的顶部,然后不关心会话识别。

好的,我希望这对你有意义。在不同的浏览器中尝试此代码并刷新页面几次:

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

这将返回会话ID,并且在不同的浏览器中它们会有所不同,但在页面刷新后它们将保持不变。

答案 1 :(得分:0)

我猜你是以不同的方式解释session用法。您只需在每个页面的开头调用session_start(),这将同步页面之间的数据。

page1.php中

session_start()
-- store some session data
-- Some form with action page2.php
-- Submit button

使page2.php

session_start()
-- fetch the session data
-- fetch the form data

请查看此coredogs tutorial

希望这有帮助