2011-02-11 122 views
1

我需要幫助一個有點簡單的任務,但我想解決這個任務,以便它可以在所有瀏覽器上工作。我唯一的問題是,我只能訪問Mac和PC機。所以這裏是我需要做的:需要幫助的PHP會話 - 登錄

我有一個用戶區,人們參加測驗。一些測驗比其他測驗更長,發生的事情是用戶快速完成測驗,測驗被提交和評分。但是,例如,如果用戶花費的時間超過30分鐘到一個小時,則測驗不會提交,它會將用戶踢回我的主頁。

我使用PHP和SESSIONS作爲用戶登錄數據。我的SESSIONS上沒有任何有效期限,我不知道爲什麼會這樣做。我需要切換到Cookie嗎?或者我可以添加一些東西到會話,使用戶永遠不會被註銷,直到點擊「註銷」鏈接。

任何幫助和建議,非常感謝。

+0

會話超時ID默認爲30分鐘,但你可以增加它到你need.ini_set(「session.gc_maxlifetime」,「18000」); – 2011-02-11 01:44:15

回答

0

您可以在php.ini文件中配置它,定義會話的全局超時。

但是,在應用程序運行時期間,您可以將其定義爲ini_set變量。

在這裏,您可以在上次服務器請求後設置90分鐘的超時時間。

ini_set('session.cache_expire',90); 

更多關於會議的ini,你可以在這裏找到:http://www.php.net/manual/en/session.configuration.php#ini.session.cookie-lifetime

您可以擴展這個時候曾經要求。我不知道禁用會話過期。

但是,作爲替代方法,您可以啓用服務器上的某些輪詢以標誌用戶交互。即一些例子是在這裏找到:jQuery - polling of a job queue這裏http://enfranchisedmind.com/blog/posts/jquery-periodicalupdater-ajax-polling/

的[],

和過去的