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 logadoa 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.