ログイン後の前のページへのリダイレクト
ユーザーが 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 サイトの他の関連記事を参照してください。