5
if (strlen($_POST['reply']) < 6) {
header("Refresh: 2; url=thread.php?id=$tid#reply");
die("The text you have entered is too short. Please write a longer text and try again.");
}

#replyを追加するとヘッダーの更新が機能しないのはなぜですか? 空白のページを提供します。ただし、ヘッダーの場所で機能します。何か案が?

4

1 に答える 1

6

ハッシュ記号 (#) の後の部分は URL のローカル部分であり、更新を強制するべきではありません。また、ブラウザの URL に #reply があり、アドレス バーでもう一度 Enter キーを押しても、ページは更新されず、ページの #reply 部分 (ターゲット) に移動するだけです。

また、完全な URL を使用しないことで標準に違反していることにも注意してください。使用する必要があります: url= http://server.com/thread.php?id= $tid#reply

PS: Header("Location: xxxxxxxx"); META タグに refresh を入れることをお勧めします

于 2009-02-16T21:36:04.560 に答える