fiz um scriptsinho html+php+mysql pra fazer users online que ficou dez!!!
-ele conta a cada dois minutos quantos usuários estão online... e os usuários não precisam fazer nenhuma ação antes de o tempo acabar!!!
-também conta os usuários cadastrados e os vizitantes!!!
aí vai:
///// ANTES DE TUDO, COLOQUE AQUI O NOME DO BANCO/////
$db="NOMEDOBANCO";
//--//
$data = date("YmdHis",time());
//--//
function usersonline($db,$PHP_SELF,$REMOTE_ADDR,$quem,$timestamp)
{
$timeout=$timestamp;
$timestamp+=200;
//--//
$usersonline=mysql_db_query($db, "DELETE FROM usersonline WHERE timestamp_usersonline < '$timeout'");
$usersonline=mysql_db_query($db, "INSERT INTO usersonline VALUES('$quem','$timestamp','$PHP_SELF','$REMOTE_ADDR')");
$usersonline=mysql_db_query($db, "SELECT DISTINCT remoteaddr_usersonline FROM usersonline") or die(mysql_error());
$usuarios=mysql_num_rows($usersonline);
//--//
$usersonline2=mysql_db_query($db, "SELECT DISTINCT id_usersonline FROM usersonline WHERE id_usersonline!=''");
$usersonline3=mysql_db_query($db, "SELECT DISTINCT id_usersonline,remoteaddr_usersonline FROM usersonline WHERE id_usersonline=''");
//- ESCREVENDO -//
echo "<b>Usuários online:</b><br>";
//- USUARIOS -//
while($usersonline=mysql_fetch_array($usersonline2))
{
echo
$usersonline["id_usersonline"]
."<br>";
}
//- VIZITANTES -//
$usersonline=mysql_num_rows($usersonline3);
echo
"<b>vizitantes:</b> "
.$usersonline;
}
///// AGORA CHAME A FUNCAO /////
<?php usersonline($db,$PHP_SELF,$REMOTE_ADDR,$row["Apelido"],$data); ?>
//$row["Apelido"]: isso é um mysql_fetch_array com o apelido do user cadastrado e logado
a estrutura da tabela é:CREATE TABLE `usersonline` ( `id_usersonline` text NOT NULL, `timestamp_usersonline` text NOT NULL, `php_self_usersonline` text NOT NULL, `remoteaddr_usersonline` text NOT NULL ) TYPE=MyISAM;coloquem isso no index:
<META HTTP-EQUIV="REFRESH" CONTENT="60">
quem tiver dúvidas ou sugestões, poste aqui!!!!
Edição feita por: goiaba2000, 12/10/2003, 15:12.











