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

¿Por qué no va a la cabecera de trabajo de actualización cuando agrego #reply? Da una página en blanco. Sin embargo, funciona con la ubicación del encabezado. ¿Alguna idea?cabecera Refresh

+0

El código funciona perfectamente en mi servidor/navegador. ¿Estás seguro de que no es otra cosa lo que está causando el problema? – soulmerge

Respuesta

6

cualquier cosa después del signo de almohadilla (#) es una parte local de la URL y no debe forzar la actualización. Además, si tiene #replica en la URL en el navegador y presiona enter nuevamente en la barra de direcciones, la página no se actualiza, simplemente lo llevan a la parte #reply (objetivo) de la página.

También tenga en cuenta que está incumpliendo estándares al no utilizar la URL completa. Usted debe utilizar: url = http://server.com/thread.php?id= $ tid # responder

PS: Yo recomiendo usar Header("Location: xxxxxxxx"); se debería poner de actualización en la etiqueta META