2011-01-19 73 views
1

我正在使用PHP和Zend框架。頁面重定向 - 登錄後 - 退格 - 進入登錄頁面!爲什麼?也有會話

索引頁面有一個登錄表單。 記錄後,檢查會話,它將重定向到myprofile頁面。 登錄後如果我嘗試直接鍵入索引頁URL,它將重定向到 myprofile頁面。

但是,從myprofile頁面退格時,它將返回索引登錄頁面! 爲什麼?即使會議在那裏,在退格時也能夠到達登錄頁面。 它不應該發生。 但是,如果我刷新登錄頁面,它會回到配置文件頁面。

任何人都可以告訴我失蹤了嗎? 我該如何解決backspce按鈕的問題。 我正在使用PHP標題來重定向。

+0

除非輸入/ textarea元素是焦點,否則退格鍵將返回。這在大多數瀏覽器中都很常見,您不應該試圖壓制這種行爲。 – meagar 2011-01-19 18:51:01

+0

@meagar並非試圖壓制退格行爲,但它應該回到我的個人資料頁面上。該重定向不僅僅發生在背部空間上。這是問題。在退格時,表單會被加載嗎?爲什麼會話檢查僅在退格時失敗? – zod 2011-01-19 18:54:47

回答

1

點擊退格,或點擊「後退」箭頭或任何不一定會觸發新的請求;之前的URL仍然保存在緩存中並進行恢復。

這是不是POST編輯的頁面的情況,反正。

1

確保您的登錄頁面發出POST請求。

Cache-control一起玩登錄頁面的標題;如果沒有其他幫助,可以將它設置爲no-cache

0

另一種解決方案可能是發佈到執行重定向的新頁面。這樣,如果用戶點擊後退按鈕,他們真的會回到一個打算重定向他們的頁面。

默認發佈到loginredirect.php,loginredirect.php重定向到您的主頁面。如果 用戶退後,他們會返回到loginredirect.php,它將被設置爲轉發它們。

0

當您加載登錄頁面時,您也可能會清除會話。它也可能是一個註銷腳本。