我在我的網站上的每個頁面上都有一個登錄窗口小部件。目前他們登錄時,他們被重定向到主頁。不過,我希望它在登錄時保留在當前正在查看的頁面上。如何在用PHP登錄後將用戶重定向到他們的上一頁?
在我的論壇上,您必須先登錄才能發帖(顯然)。我喜歡它,所以他們會留在他們試圖在登錄後回覆的論壇帖子,而不是再次找到它。我該怎麼做呢?
我在我的網站上的每個頁面上都有一個登錄窗口小部件。目前他們登錄時,他們被重定向到主頁。不過,我希望它在登錄時保留在當前正在查看的頁面上。如何在用PHP登錄後將用戶重定向到他們的上一頁?
在我的論壇上,您必須先登錄才能發帖(顯然)。我喜歡它,所以他們會留在他們試圖在登錄後回覆的論壇帖子,而不是再次找到它。我該怎麼做呢?
最簡單的(雖然不是完全可靠的方法是使用HTTP_REFERER
並重定向到引用者頁面,你可能需要通過這個張望了一下,以防您的登錄操作跨越多個頁面。
更正確的方法是設置當前(未註冊)頁面中的會話,並重定向到該會話值頁面上登錄
這要看情況,但一對夫婦的選項浮現在腦海中。
HTTP_REFERER
將用戶引回到他來自的位置。但我認爲這最終取決於你的環境,因爲你沒有提供其他任何信息/代碼比我的論壇我只能是作爲模糊作爲你的問題。
您可以在隱藏字段內的登錄小部件內綁定當前頁面,並在登錄成功後告訴認證頁面將該綁定值重定向爲頁面。
或者,如果你想成爲更安全的請嘗試使用sessions
和Bing當前頁面裏面然後提取綁定到這個會話在認證頁面的變量,然後重定向到它作爲一個有效的頁面
,你也可以檢查這個變量如果是一個有效的頁面使用file_exists
所以試試看,並告訴我結果
這可能是一個表單提交,所以你刪除了動作值。 – adeneo
它是,它沒有任何行動價值。編輯對不起,我的錯誤,它確實有一個動作值,導致一個PHP頁面上的所有登錄代碼。我包含的小部件是純html。如果我將所有的php代碼移動到同一個文件並刪除操作值,它會起作用嗎? –
它可能會,但只需在登錄後添加'header('location:$ _SERVER ['HTTP_REFERER']')')'也可以。 – adeneo