Ver Mensaje Individual
  #2 (permalink)  
Antiguo 04/02/2009, 14:42
scorpionhack
 
Fecha de Ingreso: noviembre-2007
Mensajes: 229
Antigüedad: 16 años, 5 meses
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();
?>