$ good = trueと仮定して、訪問者を別のページにリダイレクトしようとしていますが、これはページの中央にあるため、header('Location:http ://www.website.com/page ')は機能しません。 。
どうすればこれを回避できますか?
まだhtmlコードを表示していない場合、つまりスクリプトをまだ処理している場合は、後でhtmlを表示するので、次のように実行できます。
//... previous PHP code
if ($good){
require_once('myOtherPage.php');
exit;
}
}
そこで任意のphpコードを処理でき、現在のphpファイルの変数には引き続き「myOtherpage.php」からアクセスできます。
ヘッダーがすでに送信されていて、ヘッダーを使用できるようにこのコードを上に移動できない場合(これが最もクリーンな方法です)、いつでもJavascriptをエコーアウトできます。
<?php if ($good) echo '<script type="text/javascript">window.location = "http://wherever.com"</script>' ?>
これを行う場合は、ユーザーがクリックしてリダイレクトできるボタンをページに配置することもお勧めします。
<?php
if ($good) {
// Echo JS
echo '<script type="text/javascript">window.location = "http://wherever.com"</script>'
// Let the user know
echo 'Your browser is being redirected. If it has not already been redirected, <a href="http://wherever.com">click here</a>.'
}
?>