ホームページ >バックエンド開発 >PHPの問題 >PHPで上のページにジャンプしたり、前のページに戻ったりする方法

PHPで上のページにジャンプしたり、前のページに戻ったりする方法

PHPz
PHPzオリジナル
2023-03-21 14:52:572336ブラウズ

Web アプリケーションでは、ページ ジャンプはユーザーを他のページに移動させ、ユーザーがさらに多くの操作を実行できるようにする一般的な操作です。 PHP では、header() 関数を使用してページ ジャンプを実現できます。ただし、場合によっては、上のページにジャンプしたり、前のページに戻ったりする必要があります。以下では、PHP を使用してこのジャンプを実現する方法を紹介します。

上のページにジャンプしたり、前のページに戻ったりする方法を理解するには、まず PHP が HTTP リクエストをどのように処理するかを理解する必要があります。ほとんどの場合、ユーザーがブラウザに URL を入力すると、ブラウザはサーバーへの HTTP リクエストを開始します。サーバー側では、PHP がこれらのリクエストを解析し、さまざまな条件に従って処理し、最終的に結果をブラウザーに返します。したがって、PHP でページ ジャンプを実行すると、実際にはブラウザに HTTP リクエストを別の URL に送信するように指示していることになります。

上位レベルのページにジャンプ

上位レベルのページにジャンプとは、現在のページの上位レベルのページにジャンプすることを意味します。ユーザーがリンクしている場所である可能性があります。現在のページ、ページ、または現在のページの親ページに移動します。 PHP では、$_SERVER['HTTP_REFERER'] 変数を使用して、前のページの URL を取得できます。この変数には、ユーザーがリンクしたページの URL が格納されます。

次は、header() 関数を使用してユーザーを前のページにジャンプする方法のコードです。

<?php
// 获取上一级页面的URL
$redirectURL = $_SERVER[&#39;HTTP_REFERER&#39;];
// 跳转到上一级页面
header(&#39;Location: &#39; . $redirectURL);
exit;
?>

上記のコードでは、最初にユーザーがアクセスするページを取得します。 URLを取得し、Locationヘッダー情報の値としてheader()関数に渡します。最後に、exit ステートメントを使用して、現在の PHP スクリプトの実行を終了します。 HTTP プロトコルでは、Location ヘッダー情報がブラウザーに指定された URL にリクエストを送信するように指示し、PHP スクリプトは実行を継続するため、このヒントは重要です。exit ステートメントがない場合、PHP スクリプトは実行を継続します。下方向に進むと、最終的にページがジャンプしてしまい、転送は行われません。

前のページに戻る

「前のページに戻る」とは、ユーザーを直前にアクセスしたページに戻すことを意味します。 PHP では、$_SERVER['HTTP_REFERER'] 変数を使用してユーザーが以前にアクセスしたページの URL を取得し、JavaScript でhistory.back() メソッドを使用してリターン操作を実装できます。

次は、前のページに戻るコードです:

<?php
// 获取用户之前访问的页面的URL
$backURL = $_SERVER[&#39;HTTP_REFERER&#39;];
// 使用JavaScript实现退回操作
echo &#39;<script>history.back();</script>';
?>

上記のコードでは、まずユーザーが前にアクセスしたページの URL を取得し、次に JavaScript 行を出力します。 PHP コードでは、このコードがブラウザ側で実行されると、history.back() メソッドが呼び出され、ユーザーが今アクセスしたページに戻ります。

結論

header()関数とJavaScriptを利用することで、上のページにジャンプしたり、前のページに戻ったりする機能をPHPで簡単に実装することができます。この機能により、Web アプリケーションがよりユーザーフレンドリーで使いやすくなります。ページ ジャンプを実行するときは、ジャンプ動作が確実に行われるように、exit ステートメントと Location ヘッダー情報の使用に注意を払う必要があることに注意してください。

以上がPHPで上のページにジャンプしたり、前のページに戻ったりする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。