Обновление заголовка

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? Выдает пустую страницу. Однако он работает с местоположением заголовка. Есть идеи?


person Community    schedule 16.02.2009    source источник
comment
Код отлично работает на моем сервере/браузере. Вы уверены, что проблема не в чем-то другом?   -  person soulmerge    schedule 17.02.2009


Ответы (1)


все, что следует после знака решетки (#), является локальной частью URL-адреса и не должно принудительно обновляться. Кроме того, если у вас есть #reply в URL-адресе в браузере и вы снова нажимаете ввод в адресной строке, страница не обновляется, вы просто попадаете в часть #reply (цель) страницы.

Также обратите внимание, что вы нарушаете стандарты, не используя полный URL. Вы должны использовать: url=http://server.com/thread.php?id=$tid#ответить

PS: я бы рекомендовал использовать Header("Location: xxxxxxxx");, вы должны поместить обновление в тег META

person Community    schedule 16.02.2009