warning cannot modify header information – headers already sent by
Es un error muy común que sucede cuando programamos en PHP. La solución a él es eliminar las lineas en blanco, texto no incluido en los tags de php () ó echos antes del envío de headers.
Para poner un ejemplo sobre esto, imaginemos un código PHP en donde deben enviar “header(“location: http://www.codenb.com”); ” esta linea, debe ir antes que cualquier otra linea (inclusive espacios en blanco fuera de los tags de php) para que no genere dicho error.
Muchas veces, inclusive en los documentos .php nos queda algo así:
1-
2- <?
3- header(“location: http://www.codenb.com”);
4- ?>
Fijense que en la primer linea, tenemos un espacio en blanco, el mismo se encuentra FUERA de los tags PHP por ende, se procesará como código HTML simple. Causando el error antes descripto.
Nuevamente, la función “header” debe ser enviada antes de cualquier otro caracter, espacio ó echo.
¿por qué?
Porque una vez enviado un simple caracter (como el espacio) el explorador ya recibió todos los headers, es decir que no podemos enviarle más headers al mismo y por dicho motivo, PHP falla al ejecutar la función.
gracias gracias! habia leido un monton de soluciones a este problema pero esta fue la unica que funciono…. gracias!
Hace 3 dias que estoy dando vueltas con esto del header, gracias a esto se que lo que quiero hacer es imposible en el estado que esta.
Y muchas gracias!.