ログイン後の前のページへのリダイレクト
ログイン成功後にユーザーを目的の宛先にリダイレクトできないことは、イライラする障害となる可能性があります。特定のテクニックを組み込み、潜在的な落とし穴に対処することで、この問題を効果的に解決できます。
解決策: $_GET 変数の利用
一般的なアプローチは、$ を利用することです。 _GET 変数を使用してユーザーの現在のページをキャプチャします。ユーザーをログイン ページにリダイレクトする場合、この変数を追加すると、認証が成功した後にスクリプトが目的の宛先を取得できるようになります。たとえば、ユーザーが記事を読んでコメントを残そうとした場合、コメント セクションの URL (comment.php?articleid=17 など) が $_GET 変数を介してログイン ページに渡される必要があります。
実装:
コード内提供:
login.php: $_GET パラメータとして現在のページを使用してユーザーをログイン ページに送信します:
header("Location:login.php?location=" . urlencode($_SERVER['REQUEST_URI']));
login-check.php: から宛先 URL を取得します。 $_POST['location'] 変数:
$redirect = NULL; if($_POST['location'] != '') { $redirect = $_POST['location']; }
ログインが成功した場合、ユーザーを宛先 URL またはデフォルト ページ (何もない場合) にリダイレクトします。指定):
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); } else { header("Location:login.php?p=3"); } exit(); }
注意事項:
以上がPHPでログイン後に前のページにリダイレクトするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。