Foros del Web » Programando para Internet » PHP »

problema con header e include_once

Estas en el tema de problema con header e include_once en el foro de PHP en Foros del Web. Hola amigos tengo este problema que parece sencillo pero me ha traido problemas porque en diferentes servidores me ha funcionado de forma diferente: archivo1.php @import ...
  #1 (permalink)  
Antiguo 14/07/2010, 17:42
 
Fecha de Ingreso: octubre-2009
Mensajes: 240
Antigüedad: 14 años, 6 meses
Puntos: 6
problema con header e include_once

Hola amigos tengo este problema que parece sencillo pero me ha traido problemas porque en diferentes servidores me ha funcionado de forma diferente:

archivo1.php
Código PHP:
Ver original
  1. .
  2. .
  3. .
  4. Aqui va diferente codigo con saldias html


archivo2.php
Código PHP:
Ver original
  1. include_once(archivo1.php)
  2.  
  3. header("Location:www.otrositio.com");

En un servidor y en mi WampServer local no tengo problemas, pero este mismo caso en otro servidor me larga el clásico mensaje de que ya ha salido codigo html.

Hay alguna forma de hacer esto mismo sin tener problemas en ningún caso?

Saludos y gracias.
  #2 (permalink)  
Antiguo 14/07/2010, 17:47
 
Fecha de Ingreso: junio-2007
Ubicación: Buenos Aires, Argentina
Mensajes: 262
Antigüedad: 16 años, 10 meses
Puntos: 1
Respuesta: problema con header e include_once

El header("Location:www.otrositio.com"); debiera ir antes de cualquier cosa que se imprima dentro de la página. Al fin y al cabo, si tu intención es enviar al visitante a otra dirección, ¿qué sentido tiene mostrar algo en pantalla antes?

Esto dice en el sitio php.net:
Cita:
Note: The HTTP status header line will always be the first sent to the client, regardless of the actual header() call being the first or not. The status may be overridden by calling header() with a new status line at any time unless the HTTP headers have already been sent.
Fuente: http://ar.php.net/manual/es/function.header.php
__________________
Moebius Digital | La pieza que faltaba
Diseño web | Web hosting
  #3 (permalink)  
Antiguo 14/07/2010, 17:50
Avatar de Gustavo72  
Fecha de Ingreso: abril-2008
Ubicación: -32.956045,-60.661355
Mensajes: 197
Antigüedad: 16 años
Puntos: 9
Respuesta: problema con header e include_once

Sí, el header con redirección tiene que estar antes que cualquier envío html al usuario.
Hay que prestar especial antención en no dejar ni siquiera un espacio o salto de línea antes.

Es muy común el error de poner el primer "<?php" en la segunda línea y dejar la primera en blanco y eso dará error.

También puede pasar que en "archivo1.php" dejes un espacio después de "?>" y también tendrás el mismo problema.

Y sí, suele pasar que se comporte diferente en distintos servidores, pero lo correcto es no enviar nada HTML al usuario antes de un header o antes de escribir cookies.
__________________
Saludos.

Gustavo
  #4 (permalink)  
Antiguo 14/07/2010, 17:54
 
Fecha de Ingreso: octubre-2009
Mensajes: 240
Antigüedad: 14 años, 6 meses
Puntos: 6
Respuesta: problema con header e include_once

Si, tienen razón, el problema mío es que estoy trabajando con un framework hecho por quien sabe quien (no elegido por mi), que todos los controladores (modulos) automaticamente siempre llaman a una plantilla... entonces siempre tengo salida html.
  #5 (permalink)  
Antiguo 14/07/2010, 18:14
 
Fecha de Ingreso: febrero-2009
Mensajes: 218
Antigüedad: 15 años, 2 meses
Puntos: 9
Respuesta: problema con header e include_once

Redireccionar con javascript te podría servir en ese caso.

Etiquetas: header
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 04:08.