· Artigos »
Warning: date() [function.date]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'America/Sao_Paulo' for 'BRT/-3.0/no DST' instead in /home/portaldd/public_html/admin/classarticles.php on line 286
PHP/MySQL» Versão para Impressão

 

Warning: date() [function.date]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'America/Sao_Paulo' for 'BRT/-3.0/no DST' instead in /home/portaldd/public_html/admin/classarticles.php on line 286

Pessoas online

Por: Leandro Barral | Publicado em: 12.06.2005 | Visualizações: 11103

Mais uma vez estarei ensinando algo que muitas pessoas estão me pedindo, um script que mostra o número de usuarios ativos no momento em seu Site.
[Let's Work!]'

Primeiramente estaremos criando a tabela:

SQL

CREATE TABLE `usersonline` ( `ip` varchar(255) NOT NULL default '', `tempo` int(12) NOT NULL default '0' ) TYPE=MyISAM;

Agora o código responsável por captar os dados e mostrar o numero de pessoas online:
Obs: O código está todo comentado.

PHP

<?
//Configuração do banco de dados:

$host = "localhost"; //link para o seu mysql
$user = "usuario"; //usuario do bando de dados
$senha = "senha"; //senha do banco de dados
$db = "nome"; //nome do banco de dados

//Fim da configuração

$tempmins = 5; //minutos para deletar um usuario do banco de dados (minutos inativo)

//Código:

@$ip= $REMOTE_ADDR; //pega o IP do visitante

$res = mysql_connect("$host", "$user", "$senha") or die ("Erro de conexão"); //conecta com o DB
mysql_select_db($db,$res); //seleciona o DB

if(mysql_num_rows(mysql_query("SELECT * FROM usersonline WHERE ip='".$ip."'"))>0) { //verifica se o ip ja esta no DB
//ja que ele está é necessario dar um update no time para que ele não seja deletado rapidamente
mysql_query('UPDATE usersonline SET tempo="'.time().'" WHERE ip="'.$ip.'"');
} else {
//se ele não está no DB, então prescisamos inseri-lo
mysql_query('INSERT INTO usersonline (ip,tempo) VALUES ("'.$ip.'","'.time().'")');
}
mysql_query('DELETE FROM usersonline WHERE tempo<'.(time()-($tempmins*60))); //deleta os ips com mais que o tempo estabelecido

echo mysql_num_rows(mysql_query("SELECT * FROM usersonline")).' usuário(s) online'; //Mostra os usuarios online

//Fim do código
?>

Espero que tenham gostado, até a próxima e qualquer sugestão:
leandro.barral.wm@gmail.com

 


©
Warning: date() [function.date]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'America/Sao_Paulo' for 'BRT/-3.0/no DST' instead in /home/portaldd/public_html/imprimir.php on line 115
2013 - Direitos Reservados
www.portaldigidesign.com.br