Cita:
Iniciado por Juan_Enrique
pensaba que mientras fuera lo primero que se ejecutase del php ya valia
Precisamente ese es el problema, si no se entiende lo que sucede por detrás pues no se sabe nada.
La cosa es que session_start() al igual que header() y otras funciones son exclusivas para HTTP, me explico:
En HTTP hay cabeceras, las cookies son una cabecera, y las sesiones usan cookies para persistirse: de ahí la relación de las cosas.
Ahora, el HTML forma parte del cuerpo de la respuesta y no de las cabeceras: por eso debe existir un orden cuando se imprimen las cosas:
1. Primero todo lo que interactúe con cabeceras
2. Luego todo el cuerpo, HTML, etc..