我使用session_start()开始会话,我可以在$_SESSION
中保存数据。在我尝试从会话中检索数据的帖子上,$_SESSION
数据为NULL。我正在发布会话ID,然后调用session_id(passsedSessionID)然后调用session_start()
但是该会话中的数据消失了。假设要写入session_save_path的会话文件不存在。
我猜这与未写入的会话文件有关。
更新找出问题所在。我没有给我存储会话数据的目录的php进程写权限。 : - /
答案 0 :(得分:0)
只要$_SESSION
全局变量仅为当前用户的会话返回数据,您就不需要每次都传递session_id
。正如@Brian在评论中提到的那样,不要忘记确保session_start()
位于代码的顶部,然后不关心会话识别。
好的,我希望这对你有意义。在不同的浏览器中尝试此代码并刷新页面几次:
<?php
session_start();
echo session_id();
?>
这将返回会话ID,并且在不同的浏览器中它们会有所不同,但在页面刷新后它们将保持不变。
答案 1 :(得分:0)
我猜你是以不同的方式解释session
用法。您只需在每个页面的开头调用session_start()
,这将同步页面之间的数据。
session_start()
-- store some session data
-- Some form with action page2.php
-- Submit button
session_start()
-- fetch the session data
-- fetch the form data
请查看此coredogs tutorial。
希望这有帮助