<?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();
?>
|