如何在登入後將使用者重新導向回上一頁?

Mary-Kate Olsen
發布: 2024-10-31 07:11:02
原創
932 人瀏覽過

How to Redirect Users Back to Their Previous Page After Login?

登入後重新導向到上一頁

當使用者登入網站時,通常希望將他們重新導向回他們所造訪的頁面之前都在瀏覽。這確保了無縫的用戶體驗,並消除了他們手動返回的需求。

實現此功能的一種方法是在將使用者重新導向到登入頁面時透過GET 變數傳遞使用者的目前位置:

<code class="php">header("Location:login.php?location=" . urlencode($_SERVER['REQUEST_URI']));</code>
登入後複製

這會將使用者傳送到登入頁面,其中包含一個隱藏的輸入字段,其中包含上一頁的URL:

<code class="php">echo '<input type="hidden" name="location" value="';
if(isset($_GET['location'])) {
    echo htmlspecialchars($_GET['location']);
}
echo '" />';</code>
登入後複製

在處理以下內容的login-check.php 腳本中登入請求,如果登入成功並且設定了location參數,使用者會被重新導向到儲存的網址:

<code class="php">if(isset($_POST['location'])) {
    $redirect = $_POST['location'];
}

// ...

if(isset($_SESSION['id_login'])) {
    // if login is successful and there is a redirect address, send the user directly there
    if($redirect) {
        header("Location:". $redirect);
    }
}</code>
登入後複製

但是,對$_GET['location']參數進行驗證至關重要防止使用者被重新導向到惡意網站。此外,在將 URL 作為 GET 參數傳遞時,請務必使用 urlencode,以正確處理特殊 URL 字元。

以上是如何在登入後將使用者重新導向回上一頁?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板