Muita pessoas já me perguntaram, “Como eu faço um sisteminha de usuários online?” ou então “Aonde eu encontro um sistema de usuário online?”.
Ai eu resolvi postar aqui o sistema!
<? // faz a conexao com o banco de dados $host = "localhost"; $user = "usuario"; $pass = "senha"; $db = "banco_de_dados"; $connection = @mysql_connect($host, $user, $pass) or die("Unable to connect to database!"); @mysql_select_db($db, $connection) or die("Unable to select database!"); ////////////////////// $ts = time(); $to = time()-60; $sql = @mysql_query("SELECT count(*) FROM usuarios_online WHERE ip="'$REMOTE_ADDR'""); $sqlt = @mysql_result($sql,0,0); if ($sqlt) @mysql_query("UPDATE usuarios_online SET timestamp="'$ts',local='$PHP_SELF',nick='$admin_nick'" WHERE ip="'$REMOTE_ADDR'""); else @mysql_query("INSERT INTO usuarios_online (timestamp,ip,local,nick) VALUES ('$ts','$REMOTE_ADDR','$PHP_SELF','$admin_nick')"); $sql = @mysql_query("DELETE FROM usuarios_online WHERE timestamp<$to"); $sql = @mysql_query("SELECT ip FROM usuarios_online"); $UOL = @mysql_num_rows($sql); $UOLS = ($UOL <= 1) ? "" : "s"; # ja esta com a verificacao pra coloca 's' se for maior que 1 usuario online echo "$UOL usuário${UOLS} online"; ?>
Agora salve o código abaixo como tabela.sql e rode-o no seu banco de dados.
CREATE TABLE `usuarios_online` ( `timestamp` int(20) NOT NULL default '0', `ip` varchar(25) NOT NULL default '', `local` varchar(70) default NULL, `nick` varchar(30) NOT NULL default '' ) TYPE="MyISAM;"