Ver Mensaje Individual
  #2 (permalink)  
Antiguo 04/02/2009, 14:42
scorpionhack
 
Fecha de Ingreso: noviembre-2007
Mensajes: 229
Antigüedad: 19 años
Puntos: 0
Codigo que no entiendo

Buenas:

tengo este codigo para saber que usuarios estan conectados en mi pagina web...

pero no tengo ni idea de como ponerlo en mi pagina si tengo que crear una tabla para esto...ni idea alguien que sepa como fucniona me lo puede explicar?

merciii

manejoSesiones.class.php

Código PHP:

<?php
class manejoSesiones {
    var 
$tiempoExpirado;
    var 
$tablaSesiones = "sesiones";
    
    function 
abrirSesion($savePath, $sessionID) {
        global 
$con;
        
        return 
true;
    }
    
    function 
cerrarSesion() {
        global 
$con;
        
        
$this->tiempoExpirado = ini_get('session.gc_maxlifetime');
        
        
$this->recolector($this->tiempoExpirado);
        return 
true;
    }
    
    function 
leerSesion($sessionID) {
        global 
$con;
        
        
$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 
$con;
        
        
$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) VALUES ('$sessionID','".time()."','$sessionData')";
            
$result = mysql_query($sql);
            return (!
$result) ? false : true ;
        }
    }
    
    function 
borrarSesion($sessionID) {
        global 
$con;
        
        
$sql = "DELETE FROM ".$this->tablaSesiones." WHERE sessionID = '$sessionID'";
        
$res = mysql_query($sql);
        return (!
$res) ? false : true ;
    }
    
    function 
recolector($tiempo) {
        global 
$con;
        
        
$sql = "DELETE FROM ".$this->tablaSesiones." WHERE ".time()." > (sessionStart + ".$tiempo.")";
        
$res = mysql_query($sql);
        return (!
$res) ? false : true ;
    }
}
?>
y esto es lo que tengo puesto en la pagina donde inicio sesion...

sesion.php

Código PHP:
//Conexion a la BD
<?php


//ini_set()
ini_set('session.gc_maxlifetime', 3600);
ini_set('session.cookie_lifetime', 3600);




include(
"includes/manejoSesiones.class.php");

//Manejo de sesiones (ojala y sirva o.oU)
$sesionOA = new manejoSesiones();
session_set_save_handler(array(&$sesionOA,'abrirSesion'),array(&$sesionOA,'cerrarSesion'),array(&$sesionOA,'leerSesion'),array(&$sesionOA,'escribirSesion'),array(&$sesionOA,'borrarSesion'),array(&$sesionOA,'recolector'));
session_start();
?>