esta es la clase que utilizo para guardar las sesiones en php...
haver si me podeis ayudar...
gracias
Código PHP:
class manejoSesiones {
var $tiempoExpirado;
var $tablaSesiones = "sesiones";
function abrirSesion($savePath, $sessionID) {
global $dbc;
return true;
}
function cerrarSesion() {
global $dbc;
$this->tiempoExpirado = ini_get('session.gc_maxlifetime');
$this->recolector($this->tiempoExpirado);
return true;
}
function leerSesion($sessionID) {
global $dbc;
$sql = "SELECT * FROM ".$this->tablaSesiones." WHERE sessionID = '$sessionID'";
$result = mysql_query($sql);
if(!$result) { return false; }
$num = mysql_num_rows($result);
if($num > 0) {
$data = mysql_fetch_assoc($result);
return $data['sessionData'];
}else{
return false;
}
}
function escribirSesion($sessionID, $sessionData) {
global $dbc;
//loggedin|s:4:"TRUE";username|s:6:"javier";sexo|s:1 :"o";
list($logedinses, $userses, $sexses) = explode(";", $sessionData);
$sesionuser = explode("\"", $userses);
$sesionuser = $sesionuser[1]; // trozo1
// trozo2
if ($sessionData!=""){
$sql = "UPDATE ".$this->tablaSesiones." SET sessionData = '$sessionData' WHERE sessionID = '$sessionID'";
$result = mysql_query($sql);
if(mysql_affected_rows()) {
return true;
}else{
$sql = "INSERT INTO ".$this->tablaSesiones." (sessionID, sessionStart, sessionData, sessionUser) VALUES ('$sessionID','".time()."','$sessionData','$sesionuser')";
$result = mysql_query($sql);
return (!$result) ? false : true ;
}
}
}
function borrarSesion($sessionID) {
global $dbc;
$sql = "DELETE FROM ".$this->tablaSesiones." WHERE sessionID = '$sessionID'";
$res = mysql_query($sql);
return (!$res) ? false : true ;
}
function recolector($tiempo) {
global $dbc;
$sql = "DELETE FROM ".$this->tablaSesiones." WHERE ".time()." > (sessionStart + ".$tiempo.")";
$res = mysql_query($sql);
return (!$res) ? false : true ;
}
}