Ver Mensaje Individual
  #2 (permalink)  
Antiguo 10/05/2004, 10:29
Avatar de Reynier
Reynier
 
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 23 años, 10 meses
Puntos: 1
Yo uso esta clase

Yo uso esta clase y me va muy bien.
Código PHP:
<?php
class Online {
    var 
$host     = 'localhost';
    var 
$database = 'marxismo';
    var 
$user     = 'root';
    var 
$password = '';
    var 
$timeoutSeconds = 120;
    var 
$numberOfUsers = 0;
    function 
Online() {
        
$this->refresh();
    }
    function 
getNumber() {
        return 
$this->numberOfUsers;
    }
    function 
printNumber() {
        if(
$this->numberOfUsers == 1) {
            echo 
"$this->numberOfUsers usuario en línea";
        } else {
            echo 
"$this->numberOfUsers usuarios en línea";
        }
    }
    function 
refresh() {
        global 
$REMOTE_ADDR, $PHP_SELF;
        
$currentTime = time();
        
$timeout = $currentTime - $this->timeoutSeconds;
        
mysql_connect($this->host, $this->user, $this->password) or die('Error conecting to database');
        
mysql_db_query($this->database,"INSERT INTO usuariosenlinea VALUES ('$currentTime','$REMOTE_ADDR','$PHP_SELF')") or die('Error escribiendo en la Base de Datos');
        
mysql_db_query($this->database,"DELETE FROM usuariosenlinea WHERE timestamp < $timeout") or die('Error borrando de la Base de Datos');
        
$result = mysql_db_query($this->database,"SELECT DISTINCT ip FROM usuariosenlinea WHERE file='$PHP_SELF'") or die('Error leyendo de la Base de Datos database');
        
$this->numberOfUsers = mysql_num_rows($result);
        
mysql_close();
    }
}
?>
debes crear una tabla en tu bd que se llame usuariosenlinea
Código PHP:
CREATE TABLE `usuariosenlinea` (
  `
timestamp` int(15) NOT NULL default '0',
  `
ip` varchar(40) NOT NULL default '',
  `
file` varchar(100) NOT NULL default '',
  
KEY `timestamp` (`timestamp`),
  
KEY `ip` (`ip`),
  
KEY `file` (`file`)
) 
TYPE=MyISAM COMMENT='Tabla para almacenar los usuarios en Línea'; 
para usarla es asi:
Código PHP:
 include("class.online.php"); 
 
$online = new Online();
 
$online->printNumber(); 
Salu2
__________________
Ing. Reynier Pérez Mira