2010-02-02 131 views
1

我寫了一個使用php和mysql的blog,它具有登錄功能。當您註銷並重新啓動時,它不應顯示成員的功能,因爲您不再登錄。如何更正它,以便當用戶不再登錄並按回按鈕時,上一頁應該是在他登錄前的狀態?將頁面刷新到新狀態

+0

+1歡迎來到StackOverflow,@ErikaGomez。 – Sampson 2010-02-02 14:25:49

回答

1

很難辨別你所使用的認證機制,但假設這是一個純粹的緩存問題,您可以將以下語句添加到顯示的所有.PHP頁面的開始,同時登錄。

header("Cache-Control: no-cache, must-revalidate"); 
header("Expires: Mon, 1 Jan 1970 05:00:00 GMT"); 

這應該照顧緩存問題。並確保您使用的訪問變量unset()用於跟蹤用戶是否登錄(在$_SESSION或類似的地方)。

0

這是一個瀏覽器功能。但是不用擔心,如果你不是實際上登錄,你將無法真正做任何管理級別的東西。如果你願意,你可以通過javascript向服務器發出一個請求,詢問是否用戶在加載頁面時登錄。如果該請求返回false,則可以隱藏管理控件,或將用戶重定向到索引頁面。

您可以在代碼中明確聲明您希望不會緩存這些頁面,但這會降低訪問者體驗,並且會給您的服務器帶來更多開銷。我不認爲目的是爲了解決這個問題。

+0

是的,我照顧它。但它看起來不太好。 – 2010-02-02 14:25:38