Ver Mensaje Individual
  #2 (permalink)  
Antiguo 01/02/2006, 06:34
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cuando usas header(), debes pensar que es lo que realmente hace dicha función.

Esa función te permite enviar "cabeceras" HTTP al cliente (tu navegador en tu caso) .. Las cabeceras HTTP se ejecutan -antes- de cualquier otro "HTML" o salida que pueda recibir el navegador (cliente mejor dicho) para que se interprete.

Por ende, lo que debes hacer es re-ordenar tu código "pensando" como realmente funciona PHP y no en que estás "metiendo" PHP por médio de HTML como así lo estás haciendo actualmente.

Así no tendrás problemas para usar un header() donde lo requieras, .. por supuestos esto implica algo más de trabajo y pensar bien como funciona PHP.

Sé que sería más facil que te diga algo como (lo que supongo que alguien te dará como solución): usa ob_start() ... mete tu header() donde gustes y luego ob_end_flush() o equivalente ... Todo esto es gestión del buffer de salida de PHP, pero .. ese uso del buffer de salida de pHP así, para resolver una taréa que se puede solventar "pensando" un poco mejor como funciona PHP es un gasto de consumos del servidor innecesario.

Si colocas tu código actual y detallas donde quieres redireccionar (con header()) te podríamos orientar sobre como re-ordenar tu código para no originar los típicos problemas de header() cuando se envia algo de salida antes de dicha función.

Un saludo,