Foros del Web » Programando para Internet » PHP »

Me urge ayuda, no puedo redireccionar

Estas en el tema de Me urge ayuda, no puedo redireccionar en el foro de PHP en Foros del Web. Necesito ayuda urgente plisplis... Intento redireccionar a una página de la manera siguiente: ob_start(); // linea 35 header("Cache-Control: private"); // linea 36 header("Location: ./home.php"); y ...
  #1 (permalink)  
Antiguo 01/07/2003, 05:02
xup
 
Fecha de Ingreso: abril-2003
Mensajes: 15
Antigüedad: 21 años
Puntos: 0
Me urge ayuda, no puedo redireccionar

Necesito ayuda urgente plisplis...

Intento redireccionar a una página de la manera siguiente:
ob_start(); // linea 35
header("Cache-Control: private"); // linea 36
header("Location: ./home.php");

y me sale este error:
Warning: Cannot add header information - headers already sent by (output started at c:\foxserv\www\menu.php:20) in c:\foxserv\www\actusu.php on line 35

Warning: Cannot add header information - headers already sent by (output started at c:\foxserv\www\menu.php:20) in c:\foxserv\www\actusu.php on line 36

Pero si solo pongo esto:
header("Location: ./home.php"); // linea 34

me sale este error:
Warning: Cannot add header information - headers already sent by (output started at c:\foxserv\www\proyecto\menu.php:20) in c:\foxserv\www\proyecto\actusu.php on line 34


que hago mal??? que le pasa a esto??
gracias de antemano!!
__________________
;-)
  #2 (permalink)  
Antiguo 01/07/2003, 05:07
Avatar de Cain  
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 6.459
Antigüedad: 22 años, 3 meses
Puntos: 17
Ocurre que envías información al cliente antes de definir el Header. Esta información puede ser texto o espacios antes de <?php, o algo devuelto por un echo o un print, o algún mensaje de error, o algo así.

Si quieres un consejo, no te ocmpliques la vida y redirecciona con HTML usando un meta refresh.
__________________
M a l d i t o F r i k i
  #3 (permalink)  
Antiguo 01/07/2003, 05:30
xup
 
Fecha de Ingreso: abril-2003
Mensajes: 15
Antigüedad: 21 años
Puntos: 0
bueno... gracias!
o sea, si he entendido bien... si me sale un error antes del header, el header me dará error también
__________________
;-)
  #4 (permalink)  
Antiguo 01/07/2003, 05:38
Avatar de Cain  
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 6.459
Antigüedad: 22 años, 3 meses
Puntos: 17
Exacto.
__________________
M a l d i t o F r i k i
  #5 (permalink)  
Antiguo 01/07/2003, 05:42
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

El header (o el setcookie) te daran error si ya se han enviado las cabeceras y algo de contenido al navegador. En el mensaje de error te dice que ya se enviaron en la linea 20 de menu.php. en ese punto mandas algo al navegador que hace que se manden tambien las cabeceras. Tu "truco" de usar ob_start() lo tienes que hacer antes de esa salida. Si en esa linea 20 de menu.php se supone que no deberia salir nada, puede ser (si usas includes) que tengas una linea vacia al final de uno de los ficheros que incluyes, y eso es considerado salida al navegador.

Lo que comenta Cain del meta refresh te obligaria a generar ese HTML dentro del <head>, lo que tambien te puede dar quebraredos de cabeza.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #6 (permalink)  
Antiguo 01/07/2003, 05:59
xup
 
Fecha de Ingreso: abril-2003
Mensajes: 15
Antigüedad: 21 años
Puntos: 0
gracias a los dos!!
uf! cuanto me falta por aprender...
me siento un "mierdecilla" a vuestro lado. jejejeje....

no, en serio, me ha servido mucho vuestra ayuda
__________________
;-)
  #7 (permalink)  
Antiguo 01/07/2003, 06:03
Avatar de Cain  
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 6.459
Antigüedad: 22 años, 3 meses
Puntos: 17
Ya verás como en un par de meses serás un crack. Todo es cuestión de ponerle ganas
__________________
M a l d i t o F r i k i
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 19:19.