簡體   English   中英

使用PHP登錄后,如何將用戶重定向到他們的上一頁?

[英]How do you redirect the user to their previous page after logging in with PHP?

我的網站的每個頁面上都包含一個登錄小部件。 當前,當他們登錄時,他們被重定向到主頁。 但是我想要這樣,當他們登錄時,他們停留在當前正在查看的頁面上。

在我的論壇上,您必須登錄才能發布(顯然)。 我希望這樣做,這樣他們就可以留在論壇上,他們嘗試在登錄后回復,而不必再次查找。 我該怎么做呢?

最簡單的方法(盡管並非完全可靠)是使用HTTP_REFERER並重定向到引用頁面。如果您的登錄操作跨越多個頁面,則可能需要進行一些傳遞。

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

這要視情況而定,但是會想到一些選擇。

  • 具有重定向參數,該參數將在用戶登錄后將其重定向。
  • 使用HTTP_REFERER將用戶HTTP_REFERERHTTP_REFERER
  • 取決於登錄表單; 您可以發送ajax請求以登錄用戶而不移動他

但是我認為這最終取決於您的環境,並且由於您除了我的論壇以外沒有提供其他任何信息/代碼,所以我只能像您的問題那樣模糊。

您可以將當前頁面綁定在隱藏字段內的登錄窗口小部件中,並告訴認證頁面成功登錄后作為頁面重定向到此綁定值。

或者,如果您想更安全,請嘗試使用sessions並在其中綁定當前頁面,然后在身份驗證頁面中提取綁定到該會話的變量,然后將其重定向為有效頁面

您還可以使用file_exists來檢查此變量是否為有效頁面,因此請嘗試並告訴我結果

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM