Foros del Web » Programando para Internet » PHP »

problema con header("location:...")

Estas en el tema de problema con header("location:...") en el foro de PHP en Foros del Web. Hola a todos, el problema es el siguiente, cuando termino de guardar el registro en la base de datos quiero que redirija la pagina a ...
  #1 (permalink)  
Antiguo 11/07/2007, 03:18
 
Fecha de Ingreso: junio-2005
Mensajes: 80
Antigüedad: 18 años, 10 meses
Puntos: 0
problema con header("location:...")

Hola a todos,

el problema es el siguiente, cuando termino de guardar el registro en la base de datos quiero que redirija la pagina a otra pagina, para ello he utilizado el siguiente codigo:
Código PHP:
header("location:mostrar_todos.php"); 
y cuando lo ejecuto me sale el siguente warning:

Warning: Cannot modify header information - headers already sent by (output started at C:\Servidor\WEB\BaseDatos\guardardatos.php:35) in C:\Servidor\WEB\BaseDatos\guardardatos.php on line 36

Alguien me puede ayudar
  #2 (permalink)  
Antiguo 11/07/2007, 03:51
Avatar de Azrael666  
Fecha de Ingreso: noviembre-2004
Mensajes: 652
Antigüedad: 19 años, 5 meses
Puntos: 1
Re: problema con header("location:...")

ponlo con un window.location:

echo "<script>window.location='mostrar_todos.php';</script>";
__________________
ALOZORRO v5.0 (ahora en .es)
  #3 (permalink)  
Antiguo 11/07/2007, 03:59
Avatar de jerkan  
Fecha de Ingreso: septiembre-2005
Mensajes: 1.607
Antigüedad: 18 años, 7 meses
Puntos: 19
Re: problema con header("location:...")

El problema es que estás printando algo por pantalla antes de hacer la llamada al header. Fíjate en los datos que te da el error para localizar dónde estás printando algo.

Un saludo.
  #4 (permalink)  
Antiguo 11/07/2007, 04:01
 
Fecha de Ingreso: junio-2005
Mensajes: 80
Antigüedad: 18 años, 10 meses
Puntos: 0
Re: problema con header("location:...")

gracias, ya me habeis solucionado el problema.
  #5 (permalink)  
Antiguo 11/07/2007, 07:28
Avatar de korg1988  
Fecha de Ingreso: junio-2006
Ubicación: Santa Fe, Argentina
Mensajes: 825
Antigüedad: 17 años, 10 meses
Puntos: 19
Re: problema con header("location:...")

usa carga en buffer, al principio de tu pagina establece ob_start(); y justo antes del header escribi ob_clean() y luego header("location: tupagina.php") y si no hicieras la redireccion y quisieras usar ob_Start en todas tus paginas para que si en el caso de que tengas que poner un header ya tenga solucionado el problema de antemano, al final de la pagina siempre tienes que poner ob_clean() ob_flush() de modo de limpiar el buffer cada vez que se carga para que no se sature
Esto te va a servir mas que usar como dijo Azrael666 window.location ya que de este modo la redireccion se haria del lado del servidor y no habria que esperar que se cargue la pagina para que se lea el location que se realiza del lado del cliente, ademas uqeda poco profesional
;)
  #6 (permalink)  
Antiguo 27/11/2007, 15:15
 
Fecha de Ingreso: agosto-2006
Mensajes: 7
Antigüedad: 17 años, 9 meses
Puntos: 0
Re: problema con header("location:...")

Tengo algo de tiempo tratando de realizar el redireccionamiento de una página sin necesidad de recargar y usar un formulario.
Primero lo intente con el HEADER y funciona, pero necesito avisarle al usuario de la acción y lo hago con un ALERT() de JavaScript, pero alli surge el problema con el HEADER, probe la solución del OB_CLEAN() me indico que llamaba a una función no definida y use OB_END_CLEAN y eso si funciono, pero también eliminó la ventana del ALERT().
Y pos tuve que volver a la solución que habia construído con el WINDOW.LOCATION.HREF ahora mi problemilla es que la página principal contiene 3 IFRAME al trabajr en el primero lleno el segundo y al trabajr en el segundo este llena el tercero, la cuestión esta que en el tercero en el que se realiza el trabajo, despues de realizado este, necesito actualizar el segundo IFRAME automaticamente.

Como podría hacer esto compañeros, Helpme
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:51.