PHP ページリダイレクト [重複] 質問する

PHP ページリダイレクト [重複] 質問する

PHP は関数を実行した後にリダイレクト呼び出しを行うことができますか? 関数の作成中に、関数の完了時に同じルート フォルダーにあるファイルにリダイレクトするようにしたいのですが、これは可能ですか?

if (...) {
    // I am using echo here.
} else if ($_SESSION['qnum'] > 10) { 
    session_destroy();
    echo "Some error occured.";
    // Redirect to "user.php".
}

ベストアンサー1

はい、ヘッダ関数。

/* Redirect browser */
header("Location: http://www.yourwebsite.com/user.php"); 
exit();

exit()下のコードが実行されないように、直後に呼び出すことをお勧めします。

また、ドキュメントから:

通常の HTML タグ、ファイル内の空白行、または PHP から、実際の出力が送信される前に header() を呼び出す必要があることに注意してください。include()、require()、関数、またはその他のファイル アクセス関数を含むコードを読み取り、header() が呼び出される前にスペースまたは空白行が出力されるのは、非常によくあるエラーです。単一の PHP/HTML ファイルを使用する場合にも同じ問題が発生します。

つまり、header()関数の直前に何かをエコーし​​ないでください。そうすると、エラーが発生する可能性が高くなります。また、このコードが他の出力の前に実行されることを確認する必要があります。

おすすめ記事