Web開発では、ユーザーは通常、ユーザーがログインするときにページをリダイレクトする必要があります。通常、この操作はHeader()関数を介して行われます。 Header()関数は元のHTTPヘッダー情報を送信でき、ユーザーがログアウトした後、ページをジャンプするために使用できます。この記事では、PHPのヘッダー()関数を使用して、ユーザーログアウト後に自動リダイレクトを実現する方法を紹介します。
PHPのHeader()関数は、生のHTTPヘッダー情報を送信するために使用されます。これらのヘッダー情報は、リダイレクト、キャッシュ制御、コンテンツタイプなどを含むブラウザの動作を制御できます。その基本的な構文は次のとおりです。
header(string $header, bool $replace = true, int $response_code = 0)
$ヘッダー:送信するヘッダー情報を指定する必要があります。
$の交換:オプション、以前に送信された同じタイプのヘッダー情報を交換するかどうかを示します。デフォルトはtrueです。
$ response_code :オプション、通常、ステータスコードの設定に使用されるHTTP応答コードを表します。
PHPでは、ユーザーログアウトは通常、セッションデータ( $ _SESSIONなど)またはCLEARING Cookieをクリアすることによって達成されます。ログアウトした後、 Header()関数を介して指定されたページに自動的にリダイレクトできます。
ユーザーがHeader()関数を介してログアウトした後にホームページに自動的にリダイレクトする方法を示す簡単な例を次に示します。
<?php
// セッションを開始します
session_start();
// セッションデータをクリアします
session_unset();
session_destroy();
// ホームページにリダイレクトします
header("Location: http://m66.net/index.php");
exit();
?>
セッションを開始します。Session_Start ()関数を使用してセッションを開始し、 $ _Sessionアレイにアクセスできるようにします。
セッションデータのクリア: session_unset()関数は、現在のセッションのすべての変数をクリアします。 session_destroy()はセッションを破壊し、セッションデータを使用できなくなります。
リダイレクト: Header()関数を使用してロケーションヘッダー情報を送信し、ブラウザにhttp://m66.net/index.phpにリダイレクトするように指示して、ページリダイレクトを実現します。
スクリプトの実行を終了: exit()関数を呼び出して、HTTPヘッダーを送信した後もスクリプトが実行されないことを確認します。
呼び出し順序:HTML、スペース、ラインブレイクなどを含む何かを出力する前に、 Header()関数を呼び出す必要があります。ヘッダー()を呼び出す前に出力が既にある場合、PHPはエラーを報告し、HTTPヘッダー情報を送信できません。
絶対URLを使用する:リダイレクトするとき、通常、絶対URL( http://などのプロトコルを含む)を使用します。これは、ページのディレクトリ構造が変更された場合でも、リダイレクトを正しく実行できるようにするためです。
リダイレクトループを避けてください:リダイレクトロジックを設計するときは、リダイレクトループに閉じ込められないようにしてください(たとえば、ユーザーをログアウトしてログアウトページにリダイレクトした後、ユーザーをログアウトページにリダイレクトします)。
PHPのHeader()関数を使用して、ユーザーログアウト後にページリダイレクトを簡単に実装します。セッションデータをクリアし、ロケーションヘッダー情報を送信することにより、ユーザーがログアウトした後、指定されたページに自動的にジャンプして、ユーザーエクスペリエンスを改善できます。 header()をリダイレクトに使用する場合、コールオーダーに注意を払い、出力干渉を避け、URLの正しさを確保します。