2011-02-14 53 views
0

現在我正在使用會話登錄用戶並提取必要的信息。由於Safari的某些原因,如果用戶長時間未處於非活動狀態,或者在未註銷的情況下關閉窗口,則會出現重定向錯誤。如果他們在沒有退出的情況下關閉標籤頁或窗口,是否有辦法自動簽署用戶?在特定條件下關閉會話

   The page isn't redirecting properly 



      Firefox has detected that the server is redirecting the request for this address 
      in a way that will never complete. 


      This problem can sometimes be caused by disabling or refusing to accept 
    cookies. 
+0

你能否詳細說明「重定向錯誤」?默認情況下,PHP會話cookie僅對一個會話有效,這意味着當瀏覽器關閉時它們被清除。 – casablanca 2011-02-14 20:51:52

回答

1

直接回答你的問題是一個合格的「否」。您可以將一個卸載事件添加到一個頁面,並在觸發時發送一個AJAX查詢(當用戶關閉瀏覽器或選項卡或從頁面導航時),但某些瀏覽器會停止所有待處理的請求,作爲發送新消息的一部分請求。另外,當用戶只是在自己的網站周圍進行導航時,您必須爲用戶提供某種補貼,這將會引發相同的事件,就像他或她要離開時一樣。而且,如果他們讓您的網站在多個窗口或標籤中打開,該怎麼辦?

總而言之,我認爲你最好解決你提到的「重定向錯誤」。這種解決方法很容易出現問題 - 你會因爲問題而交易問題。

1

也許您可以創建一個cookie,當瀏覽器關閉時,以及當某人重新打開網站並重新打開瀏覽器並且沒有該cookie時,會結束會話?

我相信卡薩布蘭卡是正確的,所以PHP會話應該在瀏覽器關閉時結束。