ホームページ > バックエンド開発 > PHPチュートリアル > ログイン後にユーザーを前のページにリダイレクトするにはどうすればよいですか?

ログイン後にユーザーを前のページにリダイレクトするにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-10-31 07:11:02
オリジナル
965 人が閲覧しました

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

ログイン後の前のページへのリダイレクト

ユーザーが Web サイトにログインするとき、多くの場合、元のページにリダイレクトすることが望ましいです。以前閲覧していました。これにより、シームレスなユーザー エクスペリエンスが保証され、手動で戻る必要がなくなります。

この機能を実装する 1 つの方法は、ユーザーをログイン ページにリダイレクトするときに 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>
ログイン後にコピー

ログイン リクエストでは、ログインが成功し、location パラメータが設定されている場合、ユーザーは保存されている URL:

<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'] パラメータの検証を実行することが重要です。ユーザーが悪意のある Web サイトにリダイレクトされるのを防ぎます。さらに、特殊な URL 文字を正しく処理するために、URL を GET パラメータとして渡すときは常に urlencode を使用してください。

以上がログイン後にユーザーを前のページにリダイレクトするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート