Ver Mensaje Individual
  #4 (permalink)  
Antiguo 03/08/2008, 10:45
Avatar de Mort20
Mort20
 
Fecha de Ingreso: junio-2008
Ubicación: Roca Casterly
Mensajes: 141
Antigüedad: 15 años, 11 meses
Puntos: 2
Respuesta: problema con header

Bueno, el error está claro: la cabecera ya ha sido enviada.
Si se leen las coss todo va mucho mejor ;)

En resumen, antes del header() o has enviado un tag html/xml o has enivado algún tipo de echo/print, etc. u otras cosas de salida a la página.

La solución mas adecuada es evitar esas salidas, que a parte son inútiles si al fin y al cabo lo vas a redireccionar. Y otra cosa, intenta usar comillas simples en vez de dobles, son lo más adecuado si no vas a insertar variables que lo requieran.

La solución que aporta Ronruby yo la verdad es que no lo veo muy adecuado, principalmente porque ¿qué necesidad hay de lanzar cosas a la página si después vas a redireccionar?, también porque guardas un buffer de output y después lo redireccionas con lo que no sigue el script y se queda perdido. Es malbaratar recursos.
Eso sólo debe usarse asegurándose de lo que se guarda sale o se elimina - aunque sea sin imprimirse -, y que es estrictamente necesario lanzar todo el output de golpe si se cumplen las condiciones. A parte de asegurarse que no hay otra posibilidad de poner las cosas en un orden más adecuado.

Por lo general, la jerarquía que considero más apropiada para trabajar es hacer las cosas así:
1- Inicializar sesiones en caso de ser necesario (es decir, si las usarás).
2- Enviar cabeceras, ya sea con header() u de otras formas.
3- Si no se ha echo en el paso 2, y si se va usar html/xml/otros, enviar la cabecera del lenguaje.