Provo anch'io a dare il mio contributo.
Mi sono trovata nella condizione di dover controllare se una sessione è attiva o è scaduta. Dato che la sessione genera un cookie, ho eseguito il controllo così:
Codice PHP:
function checkSession(){
if(isset($_COOKIE[session_name()])){
return true;
}else{
return false;
}
}
Stranamente session_name() mi viene dato anche se non ho fatto nessun session_start(). Comunque...
Per far questo controllo ho usato un aprocedura di logout che cancella il cookie di sessione. Infatti il solo session_destroy() non lo elimina. Usando:
Codice PHP:
session_start();
session_destroy();
unset($_COOKIE[session_name()]);
pensavo di essere a posto, ma ho scoperto che il cookie non veniva cancellato. Quindi ho dovuto farlo scadere in questa maniera:
Codice PHP:
session_start();
setcookie(session_name(),"", time() - 3600);
unset($_COOKIE[session_name()]);
session_destroy();
Spero di esservi stata utile e di non aver scoperto l'acqua calda...