2013-04-25 59 views
0

我试图在使用eval()时使页面间传递会话。基本上我有一个页面可以处理所有其他请求,只需通过eval()调用即可获得页面输出。会话无法通过eval()逐页传递()

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

如果你去http://fretfast.com和查看源代码,你可以看到$_SESSION内容开始上线221

我的问题是,如何登录系统仍然工作,但其它会话信息,状态越来越复位? firstActivitylastActivity变量在处理所有请求的主文件中包含的配置页上进行设置。如果会议尚未开始,这些只得到设定,就像这样:

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

requestsrequestTimes变量设置通过eval()检索特定网页的内容的对象内。

如果任何人有任何想法可能是什么或需要任何信息,我会很乐意提供它。提前致谢。

+0

你必须在使用之前开始会话 – 2013-04-25 04:58:39

+0

为什么你需要一个条件来开始会话? – 2013-04-25 04:59:03

回答

1

您的检查从不计算为true,所以session_start()永远不会执行。 除非您特别更改(或清空)会话ID(通过代码或在您的php.ini中),否则默认为PHPSESSID(并且您的url的快速萤火虫检查证实了这一点)。

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

P.S.你为什么使用eval()?切勿使用eval()!

+0

老实说,因为我想不出另一种实用的解决方法。我并不完全想详细讨论系统在公开讨论中的工作原理,但是如果您通过我的网站http://mdl.fm向我发送了一封电子邮件,以便我可以向其解释,我将非常感激。你并得到你的建设性的批评或建议/意见。谢谢! – SISYN 2013-04-27 18:27:06