鏈接回用戶剛從哪裏來的頁面的最佳方式是什麼?鏈接回參考頁面
例如,我們有一個表單可以從幾個不同的位置打開,並且表單有一個取消鏈接 - 點擊鏈接應該將用戶發回到他們來自的地方。
我能想到的最好方法是在會話中使用Flash數據。如果沒有可用的閃存變量,那麼它顯然必須回退到默認鏈接。但是通過驗證失敗來維護這些可能會變得非常混亂。
是否還有其他更好的替代方案應該考慮?
鏈接回用戶剛從哪裏來的頁面的最佳方式是什麼?鏈接回參考頁面
例如,我們有一個表單可以從幾個不同的位置打開,並且表單有一個取消鏈接 - 點擊鏈接應該將用戶發回到他們來自的地方。
我能想到的最好方法是在會話中使用Flash數據。如果沒有可用的閃存變量,那麼它顯然必須回退到默認鏈接。但是通過驗證失敗來維護這些可能會變得非常混亂。
是否還有其他更好的替代方案應該考慮?
您也可以使用$_SERVER['HTTP_REFERER']
,但請記住讓引用者數據很棘手,因爲具有技術知識的用戶可以修改發送的頭文件。
我認爲這對您的需求很有幫助,但不要將任何關鍵因素都置於基礎之上。
Shai。
header("Location: " . $_SERVER['HTTP_REFERER']);
那麼$_SERVER['http_referrer'];
是不是你的問題的解決方案?
取決於您如何打開表單。最好的方法是使用GET或POST。例如。
http://myweb.com/?redirurl="referer_url"
您可以添加一個隱藏的表單字段中,你可以用它的當前加載頁面填充,它不會負擔的會話,它一定程度上的回調能力排序的行爲。
如果您使用按鈕返回,然後簡單的將是使用history.back(),並將其綁定到該按鈕
的onclick事件....而且也沒有保證的思想,即使在沒有用戶惡作劇,瀏覽器將提供一個引用者 – symcbean
當然不是,但像大多數兼容性問題一樣,有時您只需要針對現代瀏覽器。無論如何,正如我所說的,數據並不總是可用的,所以不要將它用於任何關鍵的事情。 –