- Home
- Categorie
- Coding e Sistemistica
- PHP
- sessioni alternative con i database
-
sessioni alternative con i database
Ciao a tutti!
Mi sono avventurato nella gestione delle sessioni attraverso i database..
Per ora ho fatto questo:[PHP]ini_set('session.gc_maxlifetime',20*60);
ini_set('session.gc_probability',50);
ini_set('session.gc_divisor',100);function apertura($path,$nome){
$idSessione = session_id();
$tempo = time();
mysql_query("INSERT INTO sessioni SET sessionID='$idSessione', ultimoAccesso='$tempo'");
}function chiusura(){
// ??? non so cosa metterci
}function lettura($id){
$idSessione = session_id();
$q = mysql_query("SELECT sessionID,datiSessione FROM sessioni WHERE sessionID='$idSessione'");
$f = mysql_fetch_array($q);
//è giusto ritornare i dati di sessione in questo modo?
return $f['datiSessione'];
}function scrittura($id,$dati){
$sessionID = session_id();
//ma come fa '$dati' a prendere il contenuto dell'array $_SESSION[''] nel caso venisse richiesta questa funzione?
mysql_query("INSERT INTO sessioni SET datiSessione='$dati' WHERE sessionID='$sessionID'");
}function distruzione($id){
$sessionID = session_id();
// qua devo inserire un controllo sul tempo prima di distruggere la sezione o automaticemnte allo scadere dei 20 minuti (impostati all'inizio) verrà azionata questa funzione?
mysql_query("DELETE FROM sessioni WHERE sessionID='$sessionID'");
}session_set_save_handler('apertura','chiusura','lettura','scrittura','distruzione');
session_start();[/PHP]Se avete guardato il codice avrete notato che ci sono dei commenti nelle parti che non riesco a capire.
Potete aiutarmi a capirle?Questa è la tabella sul database:
| id | sessionID | ultimoAccesso | datiSessione|