2013-04-25 79 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