Os suena este error:
warning: session_start()[function.session-start]:cannot send session cache limiter – header already sent (output started at ….
De primeras tenemos que el session_start hay que ponerlo al principio de todo, fuera de la sección html, a veces el error viene por otro lado, la otra posibilidad
suele suceder cuando escribimos el session_start() en un fichero en el cual ya se ha iniciado la sesión en otro punto, como por ejemplo tenemos un fichero con funciones
el cual incluimos en otro fichero en el cual hemos puesto en la cabecera el session_start() y para proteger el fichero de funciones ponemos también el session_start(), tenemos
que ponerlo en los dos sitios si o si. Pues bien para solucionar esto me he creado una pequeña función, la cual pongo en el principio de mis ficheros php que chequea si se ha iniciado la sesión, si es asi regenera el id y si no pues la inicia.
function checkSession() { if ( session_id() != null ){ session_regenerate_id(); } else { session_start(); }
Llamo a la función en las cabeceras, si el session_id no es nulo se regenera, es decir la sesión esta iniciada, si no se inicia.