2013-04-16 26 views
2

我在我的網站上的每個頁面上都有一個登錄窗口小部件。目前他們登錄時,他們被重定向到主頁。不過,我希望它在登錄時保留在當前正在查看的頁面上。如何在用PHP登錄後將用戶重定向到他們的上一頁?

在我的論壇上,您必須先登錄才能發帖(顯然)。我喜歡它,所以他們會留在他們試圖在登錄後回覆的論壇帖子,而不是再次找到它。我該怎麼做呢?

+0

這可能是一個表單提交,所以你刪除了動作值。 – adeneo

+0

它是,它沒有任何行動價值。編輯對不起,我的錯誤,它確實有一個動作值,導致一個PHP頁面上的所有登錄代碼。我包含的小部件是純html。如果我將所有的php代碼移動到同一個文件並刪除操作值,它會起作用嗎? –

+0

它可能會,但只需在登錄後添加'header('location:$ _SERVER ['HTTP_REFERER']')')'也可以。 – adeneo

回答

0

最簡單的(雖然不是完全可靠的方法是使用HTTP_REFERER並重定向到引用者頁面,你可能需要通過這個張望了一下,以防您的登錄操作跨越多個頁面。

更正確的方法是設置當前(未註冊)頁面中的會話,並重定向到該會話值頁面上登錄

0

這要看情況,但一對夫婦的選項浮現在腦海中。

  • 有一個重定向參數將重定向用戶一旦他lo gs英寸
  • 使用HTTP_REFERER將用戶引回到他來自的位置。
  • 取決於登錄表單;您可以發送一個Ajax請求登錄用戶無需移動他

但我認爲這最終取決於你的環境,因爲你沒有提供其他任何信息/代碼比我的論壇我只能是作爲模糊作爲你的問題。

0

您可以在隱藏字段內的登錄小部件內綁定當前頁面,並在登錄成功後告訴認證頁面將該綁定值重定向爲頁面。

或者,如果你想成爲更安全的請嘗試使用sessions和Bing當前頁面裏面然後提取綁定到這個會話在認證頁面的變量,然後重定向到它作爲一個有效的頁面

,你也可以檢查這個變量如果是一個有效的頁面使用file_exists所以試試看,並告訴我結果

相關問題