Ver Mensaje Individual
  #2 (permalink)  
Antiguo 31/10/2003, 08:55
josemi
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

El session_start() debe ir antes de enviar algo al navegador. Debe ir antes de todo el HTML, de todo echo, de todo lo que mande salida al navegador.

Lo mas recomendable es que las primeras lineas de todo el fichero sean:
Código PHP:
<?php
session_start
();
aunque puedes tener antes codigo PHP que no genere salida.

Si te fijas en el mensaje de error, te dice que comenzaste ha enviar salida en la linea 9.

El error te lo da porque, tal como tienes configurado, propagas el ID de sesion por cookie. Y la informacion de esa cookie tiene que ser enviada antes que la salida normal, porque va en una cabecera. Por eso session_start() tiene las mismas restricciones que header() y que setcookie().

Por supuesto, puedes usar las funciones de manejo del buffer de salida (ob_start() y compañia), para evitar tener que modificar tu codigo. Aunque yo te recomiendo que no las uses y que reorganices el codigo. Las funciones de buffer sobrecargan el PHP.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.