Solo unos comentarios

:
Cita:
Iniciado por Nathan_1979
Si no se puede tener html y demas junto a header para que sirve?!
Sirve para enviar cabeceras HTTP. Location es solo una de ellas y sirve para hacer redirecciones
desde el servidor, por ello
no tiene sentido enviar HTML si se hará una redirección. Solo es cuestión de lógica, de ordenar las cosas; el ejemplo/código de alvlin es un buen ejemplo.
Manipular el buffer de salida "soluciona" el problema (en realidad no, solo evitas el mensaje de advertencia) pero no es recomendable; cargas el servidor y estás haciendo mal uso del protocolo HTTP lo cuál podría darte otro tipos de problemas (sobre todo si manejas sesiones o cookies).
Las definiciones de funciones puedes hacerse donde sea. No tienen porque arrojar algo si no son invocadas explícitamente (lógica, orden).
Cuando se habla de separar el HTML de PHP es un poquito más complejo que ordenar el HTML y el PHP... seguro alvlin lo sabe, pero como es oootro tema, lo simplificó mucho.
FAQ, buscador, tema común

.
Saludos