Cookies, Sessions y Headers se tienen que enviar antes (y cuando digo antes, digo ANTES obligatoriamente) de que se envíe nada más. Es decir:
Esto no funcionará. Tampoco funciona si intentamos grabar las sesiones, o mandar cookies.
Es decir, heder, session_start, set_cookie y demás funciones relaccionadas con HTTP Headers, Sessions y Cookies han de ir antes de que se envíe nada que el usuario pueda laeer en la pantalla de su navegador.