1

ヘッダーが送信された後に他のページにジャンプする方法は?

テンプレートファイルにいくつかのコードを書いています。ある条件が真のときにphpを使用して他のページにジャンプしたいのですが、このテンプレートファイルの前にヘッダー情報が他のphpファイルに送信されているため、ここではヘッダーコマンドを使用できません. それでは、どうすれば他のURLにジャンプできますか? jsを使用する唯一の方法は?

Warning: Cannot modify header information - headers already sent by ...
4

3 に答える 3

2

これを実現するには、出力バッファリングとヘッダー クリアリングを使用します。

ob_start()
...
if (!headers_sent()) {
  foreach (headers_list() as $header)
    header_remove($header);
}
ob_flush_end()

未テストですが、試してみてください。

于 2013-10-04T02:37:15.933 に答える
1

CP510からの回答は良好です。もう 1 つの方法は、JavaScript を使用してページをリダイレクトすることです。Ryan McGearyの回答を引用するには、次のいずれかを行うことができます

// similar behavior as an HTTP redirect
window.location.replace("http://stackoverflow.com");

or

// similar behavior as clicking on a link
window.location.href = "http://stackoverflow.com";
于 2013-10-04T02:44:31.820 に答える