PHP. Problema con Header()
7 seguidores
No se si a alguno os ha pasado algo parecido. El problema ocurre con Explorer 6 bajo windows XP. Es el siguiente, estoy trabajando en una pagina en PHP y no funcionan las redirecciones del tipo:
header("Location: laPagina.php?id=$loQueSea"); es decir, la funcion redirecciona, pero la pagina sale en blanco, como si hubiese un error, pero no es asi, ya que si actualizas, la pagina sale bien. No se, es muy raro, yo he intentado reproducir el error con mi explorer 6 y me funciona bien, es en los equipos del cliente donde falla. ¿Alguna idea?
portishead
Pues parece que está solucionado, así que me respondo yo. Tal como sospechaba era problema con la sesión. Parece que a Explorer 6 no le mola que haya nada delante antes de hacer un session_start(); y cuando digo nada , es nada, ni siquiera lineas en blanco.
Curioso, el caso es que parece que arreglando esto ya no les pasa.
abrahamnavas
Cierto tio, estoy en pleno curso de PHP y nuestro profe nos dice que antes de session_start(); no poner nada de nada o puede petar en algunos navegadores.
P.D: Al parecer, tampoco es recomendable dejar ninguna linea vacía despues del cierre ?>
Isma
No depende de navegadores, si no que si utilizas session_start() no tiene que haber nada de nada delante de él, dado que te da el error de que las cabeceras ya han sido enviadas, eso es así en PHP. Lo del tema de espacios y demás da algun que otro dolor de cabeza. Normalmente se da el caso cuando hay un comportamiento extraño en el código o ni siquiera se muestra la página.
Sorenly
Exacto... antes de enviar cualquier contenido, envía las cabeceras, y los espacios también son contenido.
ponchi
Igual si tienes activado el aviso de errrores, en el php.conf (creo que era ahí) y hay un error o una notificación antes del header, al pintarse en la pantalla el error o el aviso no te funciona
ehelguero
Una consulta, han utilizado alguna vez la funcion ob_start() antes que session_start()?
Sorenly
Deberías utilizarlo después de session start, al fin y al cabo no tiene sentido utilizarlo antes. Si tu session_start crea una sesión con cookies, que es lo general (a no ser que tengas php configurado para solo usar sesiones con la session_id), entonces no podrás enviar los headers despues de haber metido en buffer contenido (puedes hacer un test rápido y lo verás).
eljilguero
tengo el siguiente problema, envio el bat al anunciante y me pide que en el preheader o mirror page debe redirigir al html del bat que les envio y no a la web del anunciante que es donde lo dirige y que es lo que les enviado yo, alguna idea de como se hace?
saludos y agradezco de antemano vuestra contestacion