会话持久性问题

时间:2010-04-08 11:54:24

标签: php debugging session

我遇到了让会话持续存在的问题,并且没有运气搜索,我需要问。

我可以在第一次设置时按预期访问我的会话内容,但是一旦页面刷新,我就会丢失所有内容,但我不明白为什么。 session_start()已经确定,我不会破坏或破坏任何东西。我在会话中查看了PHP Info,一切看起来都不错(但我对会话的理解有限)。

我在OS 10.5上运行MAMP,上次我使用他们工作的会话。

3 个答案:

答案 0 :(得分:1)

如果您正在刷新页面,则可能正在创建新会话和/或覆盖会话变量。在设置之前,您应该检查是否已经设置了会话变量。

答案 1 :(得分:1)

正如Josh所说,你要在开始创建新会话之前先检查会话是否存在,使用if语句检查$ _SESSION变量,该变量应该为你提供所需的结果。我使用的lil调试技巧是这样做的:

if($_SESSION) {
   echo 'session exists';
else {
   echo 'does not exist';
}

通过这种方式,我立即知道正在调用哪个代码块,而不必担心内部包含的内容。

希望这会有所帮助:)

答案 2 :(得分:0)

启用Cookie?您还可以通过请求(url)传递session_id。