Ritenevo che la logica delle sessioni fosse che un utente autenticato può navigare all'interno di pagine personali FINO a che rimane relativamente attivo, ovvero fino a che non passa un determinato tempo dall'ultimo comando inviato tramite browser.
Come è possibile allora che la mia sessione scada SEMPRE dopo tot secondi dalla creazione della sessione stessa?
Ecco il codice "preso da un articolo di questo sito":
Codice PHP:
function auth_clean_expired(){
global $_CONFIG;
$result = mysql_query("SELECT creation_date FROM ".$_CONFIG['table_sessioni']." WHERE uid='".auth_get_uid()."'");
if($result){
$data = mysql_fetch_array($result);
if($data['creation_date']){
if($data['creation_date'] + $_CONFIG['expire'] <= time()){
switch(auth_get_option("TRANSICTION METHOD")){
case AUTH_USE_COOKIE:
setcookie('uid');
break;
case AUTH_USE_LINK:
global $_GET;
$_GET['uid'] = NULL;
break;
}
}
}
}
mysql_query("
DELETE FROM ".$_CONFIG['table_sessioni']."
WHERE creation_date + ".$_CONFIG['expire']." <= ".time()
);
}
Ho provato entrambe le modalità, sia COOKIES che LINK, il risultato è sempre lo stesso.
Dopo 60 secondi dal login (tempo di default di fine sessione), quest'ultima scade.
Forse che questo codice debba funzionare proprio in questa maniera???
Help!