2009-02-16 12 views
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."); 
} 

Dlaczego odświeżanie nagłówka nie działa po dodaniu #reply? Daje pustą stronę. Działa jednak z lokalizacją nagłówka. Dowolny pomysł?Nagłówek Odśwież

+0

Kod działa doskonale na moim serwerze/przeglądarce. Jesteś pewien, że to nie jest coś, co powoduje problem? – soulmerge

Odpowiedz

6

cokolwiek po haśle (#) jest lokalną częścią adresu URL i nie powinno wymuszać odświeżania. Ponadto, jeśli masz #odno w adresie URL w przeglądarce i ponownie wciśnij enter na pasku adresu, strona nie zostanie odświeżona, po prostu przejdziesz do części #reply strony.

Pamiętaj również, że naruszasz standardy, nie używając pełnego adresu URL. należy używać: url = http://server.com/thread.php?id= $ tid # odpowiadać

PS: Polecam korzystania Header("Location: xxxxxxxx"); należy umieścić odświeżenia w Meta Tag