Foros del Web » Programando para Internet » PHP »

Header: location no se ejecuta...¿Por que?

Estas en el tema de Header: location no se ejecuta...¿Por que? en el foro de PHP en Foros del Web. Una pregunta. Ya es sabido que poner varios " header: Location ... " en una misma pagina provoca la aparicion de un warning como este: ...
  #1 (permalink)  
Antiguo 18/07/2010, 09:46
Avatar de mdromed  
Fecha de Ingreso: septiembre-2009
Mensajes: 389
Antigüedad: 15 años, 2 meses
Puntos: 8
Header: location no se ejecuta...¿Por que?

Una pregunta.
Ya es sabido que poner varios "header: Location ..." en una misma pagina provoca la aparicion de un warning como este:

Warning: Cannot modify header information - headers already sent by (output started at C:\AppServ\www\probador\gestion_administrar.php:33 ) in C:\AppServ\www\probador\gestion_administrar.php on line 363


He colocado esta linea en mi pagina php
"error_reporting(E_ALL & ~E_WARNING);" y he conseguido que dicho warning no aparezca.
Sin embargo no me hace ni caso al "header:location", es decir, que no me redirecciona a la pagina que quiero.
Digamos que no muestra el warning pero tampoco ejecuta dicha linea.

¿Hay alguna manera de que aun mostrando el warning (o no), esa linea se ejecute?
  #2 (permalink)  
Antiguo 18/07/2010, 10:02
 
Fecha de Ingreso: febrero-2004
Mensajes: 1.987
Antigüedad: 20 años, 9 meses
Puntos: 22
Respuesta: Header: location no se ejecuta...¿Por que?

INmediatamente DESPUES delHEADER agrega:

EXIT;
  #3 (permalink)  
Antiguo 18/07/2010, 10:19
Avatar de AhmedRugama  
Fecha de Ingreso: diciembre-2008
Ubicación: Nicaragua
Mensajes: 160
Antigüedad: 15 años, 11 meses
Puntos: 6
Respuesta: Header: location no se ejecuta...¿Por que?

Hola mdromed, poner varios header: Location en un solo documento no tiene nada de malo, tu problema es que probablemente tengas algun html antes de header: Location lo que hace que los header ya se hayan establecido, te aconsejo que elimines todas las lineas en blanco que puedas tener antes de "<?php"

Tambien puede ser que en la linea 33 esta imprimiendo otro error lo cual tambien te daria error al utilizar header: Location.

Saludos
  #4 (permalink)  
Antiguo 18/07/2010, 10:37
Avatar de mdromed  
Fecha de Ingreso: septiembre-2009
Mensajes: 389
Antigüedad: 15 años, 2 meses
Puntos: 8
Cita:
Iniciado por Anarko Ver Mensaje
INmediatamente DESPUES delHEADER agrega:

EXIT;

Ya lo he puesto pero no hace nada.
Sigue igual.

Cita:
Iniciado por AhmedRugama Ver Mensaje
Hola mdromed, poner varios header: Location en un solo documento no tiene nada de malo, tu problema es que probablemente tengas algun html antes de header: Location lo que hace que los header ya se hayan establecido, te aconsejo que elimines todas las lineas en blanco que puedas tener antes de "<?php"

Tambien puede ser que en la linea 33 esta imprimiendo otro error lo cual tambien te daria error al utilizar header: Location.

Saludos
O sea que header:location siempre debe ir despues de todo codigo html????

Última edición por GatorV; 19/07/2010 a las 08:21
  #5 (permalink)  
Antiguo 18/07/2010, 10:42
Avatar de DooBie  
Fecha de Ingreso: septiembre-2004
Mensajes: 1.101
Antigüedad: 20 años, 2 meses
Puntos: 71
Respuesta: Header: location no se ejecuta...¿Por que?

Cita:
Iniciado por mdromed Ver Mensaje
O sea que header:location siempre debe ir despues de todo codigo html????
debe ir ANTES

El header, no puede enviarse DESPUES de cualquier codigo html, o un echo o un print, no puedes enviarle nada al navegador ANTES de enviar el header.
  #6 (permalink)  
Antiguo 18/07/2010, 10:54
Avatar de AhmedRugama  
Fecha de Ingreso: diciembre-2008
Ubicación: Nicaragua
Mensajes: 160
Antigüedad: 15 años, 11 meses
Puntos: 6
Respuesta: Header: location no se ejecuta...¿Por que?

Cita:
Iniciado por DooBie Ver Mensaje
debe ir ANTES

El header, no puede enviarse DESPUES de cualquier codigo html, o un echo o un print, no puedes enviarle nada al navegador ANTES de enviar el header.
Asi es
  #7 (permalink)  
Antiguo 18/07/2010, 10:56
Avatar de mdromed  
Fecha de Ingreso: septiembre-2009
Mensajes: 389
Antigüedad: 15 años, 2 meses
Puntos: 8
Respuesta: Header: location no se ejecuta...¿Por que?

Cita:
Iniciado por DooBie Ver Mensaje
debe ir ANTES

El header, no puede enviarse DESPUES de cualquier codigo html, o un echo o un print, no puedes enviarle nada al navegador ANTES de enviar el header.
O sea que si quiero programar dinamicamente mi pagina web mezclando html y php no es recomendable?
O sea que lo bueno es primero ejecutar todo el php y luego escribir el html???
  #8 (permalink)  
Antiguo 18/07/2010, 11:00
Avatar de DooBie  
Fecha de Ingreso: septiembre-2004
Mensajes: 1.101
Antigüedad: 20 años, 2 meses
Puntos: 71
Respuesta: Header: location no se ejecuta...¿Por que?

Cita:
Iniciado por mdromed Ver Mensaje
O sea que si quiero programar dinamicamente mi pagina web mezclando html y php no es recomendable?
O sea que lo bueno es primero ejecutar todo el php y luego escribir el html???
No es recomendable mezclar php y html, pero a veces es necesario.
Si es lo ideal, y como debes hacerlo, primero toda la logica de la pagina, y luego lo visual, en el codigo html deberia haber solo cosas como <?php echo $variable; ?> para mostrar las diferentes variables, como mucho algun if o algun for para hacer menus o cosas por el estilo, pero si puedes evitarlo, mejor que mejor.

Te recomiendo que leas un poco sobre programacion MVC (Modelo-Vista-Controlador) te aliviara este tipo de problemas.
  #9 (permalink)  
Antiguo 18/07/2010, 11:08
Avatar de mdromed  
Fecha de Ingreso: septiembre-2009
Mensajes: 389
Antigüedad: 15 años, 2 meses
Puntos: 8
Respuesta: Header: location no se ejecuta...¿Por que?

Cita:
Iniciado por DooBie Ver Mensaje
No es recomendable mezclar php y html, pero a veces es necesario.
Si es lo ideal, y como debes hacerlo, primero toda la logica de la pagina, y luego lo visual, en el codigo html deberia haber solo cosas como <?php echo $variable; ?> para mostrar las diferentes variables, como mucho algun if o algun for para hacer menus o cosas por el estilo, pero si puedes evitarlo, mejor que mejor.

Te recomiendo que leas un poco sobre programacion MVC (Modelo-Vista-Controlador) te aliviara este tipo de problemas.

Ufff vaya movida tio!
Te lo agradezco mucho, pq yo vengo de programacion en asp y ahí todo esto es mas sencillo.

Gracias tio!

Etiquetas: cabeceras, header:location, warning
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 22:53.