Foros del Web » Programando para Internet » PHP »

No me termino de aclarar con header("Location: ...")

Estas en el tema de No me termino de aclarar con header("Location: ...") en el foro de PHP en Foros del Web. FAVOR de leer el mensaje completo, me están dando respuestas que no concuerdan con lo que pregunto Tengo una web que me arroja errores del ...
  #1 (permalink)  
Antiguo 05/11/2009, 00:40
 
Fecha de Ingreso: junio-2008
Mensajes: 131
Antigüedad: 15 años, 9 meses
Puntos: 2
No me termino de aclarar con header("Location: ...")

FAVOR de leer el mensaje completo, me están dando respuestas que no concuerdan con lo que pregunto

Tengo una web que me arroja errores del tipo "Warning: Cannot modify header information - headers already sent by (output started at..."

De repente empezaron a aparecer, sé muy bien lo que supuestamente los causa, pero de repente empezaron a aparecer, no aparecían.

Re-leyendo lo que causa este error, hice un archivo llamado jajaja.php con el siguiente contenido:

Código PHP:
<?php
    
echo "Estoy imprimiendo algo";
    
header("Location: http://www.google.com/");
?>
Lo pruebo, y me redirige a Google correctamente, ¿no se supone que no lo debe hacer? porque ya imprimí algo antes de usar la funcion header.

¿Alguien me aclara? me gustaría que varios lo probaran en sus servidores y comenten si redirige o da error de "Warning: Cannot modify header information - headers already sent by (output started at..."

Última edición por Charlii; 05/11/2009 a las 11:15
  #2 (permalink)  
Antiguo 05/11/2009, 06:45
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: No me termino de aclarar con header("Location: ...")

será porque tienes error_reporting desactivado???
  #3 (permalink)  
Antiguo 05/11/2009, 08:45
 
Fecha de Ingreso: junio-2003
Mensajes: 2
Antigüedad: 20 años, 10 meses
Puntos: 0
Respuesta: No me termino de aclarar con header("Location: ...")

Hola,

El problema que tienes es debido a que la sentencia header("Location: ... "); debe ser la primer linea que aparece en el codigo, ya que de no ser asi no es una "cabecera" si lo que quieres es hacer un redireccionamiento es en javascript que es mas adecuado a lo que quieres o desactiva los warnings en el php.ini de tu servidor, claro este ultimo es menos aconsejado.

Espero te sirva.

Saludos.
  #4 (permalink)  
Antiguo 05/11/2009, 10:28
 
Fecha de Ingreso: septiembre-2009
Ubicación: México
Mensajes: 102
Antigüedad: 14 años, 7 meses
Puntos: 4
Respuesta: No me termino de aclarar con header("Location: ...")

es mas facil cuando usas una sentencia XML para redireccionar, evitas este problema que suele dar el Header Location y si necesitas variables en la siguiente pagina ponlas en una variable de sesion temporal y en la siguente pagina eliminas las variables de sesion y listo espero que te sirva de algo el momentario n_n
  #5 (permalink)  
Antiguo 05/11/2009, 11:16
 
Fecha de Ingreso: junio-2008
Mensajes: 131
Antigüedad: 15 años, 9 meses
Puntos: 2
Respuesta: No me termino de aclarar con header("Location: ...")

FAVOR de leer el mensaje completo, me están dando respuestas que no concuerdan con lo que pregunto
  #6 (permalink)  
Antiguo 05/11/2009, 11:28
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: No me termino de aclarar con header("Location: ...")

Hay veces que se ejecuta el header a pesar de que haz hecho un echo, pero es porque ese header se ejecuto más rapido que enviar realmente la información al navegador. Ahora contestando tu pregunta te sugiero leer estos dos ejemplo
http://www.forosdelweb.com/wiki/PHP:...lready_sent%3F
y esto
http://www.forosdelweb.com/wiki/PHP:...n_line_4%22%3F

En uno de esos dos vas a lograr resolver el problema.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #7 (permalink)  
Antiguo 05/11/2009, 11:29
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: No me termino de aclarar con header("Location: ...")

En condiciones normales eso no debería funcionar. Sin embargo, funciona si la directiva output_buffering está activada, ya que en ese caso la salida es capturada.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
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.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:28.