我正在尝试使用eval()
让会话在页面之间传递。基本上我有一个页面可以处理所有其他请求,只是通过eval()
调用获取页面输出。
一切正常,但由于某种原因,会话信息会在每次刷新时保持重置。但是,登录系统也使用会话,但不会在每次刷新页面时重置。
如果您转到http://fretfast.com并查看源代码,则可以从第221行开始查看$_SESSION
的内容。
我的问题是,登录系统如何仍然有效但其他会话信息一直在重置? firstActivity
和lastActivity
变量在配置页面上设置,该配置页面包含在处理所有请求的主文件中。只有在会话尚未启动时才会设置这些内容,如下所示:
if ( session_id() == '' ) {
session_start();
// set other $_SESSION['trail'] variables
}
requests
和requestTimes
变量设置在通过eval()
检索给定页面内容的对象中。
如果有人知道问题可能是什么或需要任何信息,我很乐意提供。提前谢谢。
答案 0 :(得分:1)
您的检查永远不会计算为true,因此session_start()永远不会执行。
除非您专门更改(或清空)会话ID(通过代码或在php.ini中),否则默认为PHPSESSID
(并且对您的URL进行快速的firebug检查确认)。
完全跳过支票,只需在文件开头发出session_start()。
P.S。为什么使用eval()?永远不要使用eval()!