会话未通过eval()从页面传递到页面

时间:2013-04-25 04:53:56

标签: php session eval sessionid

我正在尝试使用eval()让会话在页面之间传递。基本上我有一个页面可以处理所有其他请求,只是通过eval()调用获取页面输出。

一切正常,但由于某种原因,会话信息会在每次刷新时保持重置。但是,登录系统也使用会话,但不会在每次刷新页面时重置。

如果您转到http://fretfast.com并查看源代码,则可以从第221行开始查看$_SESSION的内容。

我的问题是,登录系统如何仍然有效但其他会话信息一直在重置? firstActivitylastActivity变量在配置页面上设置,该配置页面包含在处理所有请求的主文件中。只有在会话尚未启动时才会设置这些内容,如下所示:

if ( session_id() == '' ) {
    session_start();
    // set other $_SESSION['trail'] variables
}

requestsrequestTimes变量设置在通过eval()检索给定页面内容的对象中。

如果有人知道问题可能是什么或需要任何信息,我很乐意提供。提前谢谢。

1 个答案:

答案 0 :(得分:1)

您的检查永远不会计算为true,因此session_start()永远不会执行。 除非您专门更改(或清空)会话ID(通过代码或在php.ini中),否则默认为PHPSESSID(并且对您的URL进行快速的firebug检查确认)。

完全跳过支票,只需在文件开头发出session_start()。

P.S。为什么使用eval()?永远不要使用eval()!