<?php 
 
///////////////////////////////////////////////////////////////////////
 
//
 
// PHPMAFIA (phpmafia.com.br)
 
// Vesão : 1.0 
 
// Programador : Marcelo Costa
 
// Email : phpmafia at yahoo dot com dot br
 
// Data :06/02/2003
 
// Título : function_useronline.php
 
// Descrição : Script que retorna a quantidade de IPs conectados
 
// Modificado : 
 
// Últ Alteração : 
 
// Dependência : class_innodb.php
 
//
 
/////////////////////////////////////////////////////////////////////////
 
 
/*
 
CREATE TABLE useronline (
 
 datahora int(15) NOT NULL,
 
 ip varchar(20) NOT NULL
 
)TYPE=InnoDB COMMENT='tabela de usuarios online';
 
*/
 
 
if(file_exists("./class_innodb.php"))
 
{
 
 require("./class_innodb.php");
 
}
 
 
function useronline()
 
{
 
 
$timeoutseconds = 120; 
 
$timestamp = time(); 
 
$timeout = $timestamp-$timeoutseconds;
 
 
$SQL="DELETE FROM useronline WHERE datahora<".$timeout;
 
$Objeto= new innodb();
 
 
$Objeto->setsql($SQL);
 
$Objeto->othersql();
 
 
# Inicia a transação
 
 
$Objeto->begin();
 
 
$SQL="SELECT ip FROM useronline WHERE ip='".@$_SERVER["REMOTE_ADDR"]."'";
 
 
$Objeto->setsql($SQL); 
 
 
#@$usuariosonline=$Objeto->getnumberrows();
 
 
    if(@$Objeto->getnumberrows()==0)
 
    {
 
    $SQL="INSERT INTO useronline (ip, datahora) VALUES ('".@$_SERVER["REMOTE_ADDR"]."','".$timestamp."')";
 
  $Objeto->setsql($SQL);
 
  $Objeto->othersql();
 
    }
 
 
    
 
$SQL="SELECT COUNT(ip) as usuariosonline FROM useronline";
 
 
$Objeto->setsql($SQL);
 
 
$usuariosonline=$Objeto->getdbrecord(0);
 
 
# Finaliza a transacao
 
 
$Objeto->commit();
 
 
if($usuariosonline== 1)
 
{
 
$usuariosonline=$usuariosonline." usuario online";
 
} else {
 
$usuariosonline=$usuariosonline." usuarios online";
 
}
 
#*/
 
return $usuariosonline;
 
 
}
 
 
// Modo de usar //
 
print "<br>".useronline();
 
?> 
 
 |