Quelipe 15 Denunciar post Postado Fevereiro 28, 2010 Olá galera, irei mostrar um pequeno tutorial para criar um contador de usuários on-line no site: Primeiro passo será criar um banco de dados ou usar o que você já tem disponível Crie um banco de dados com o nome de "contador" Segundo passo será criar uma tabela no banco de dados: CREATE TABLE `online` ( `id` int(11) NOT NULL auto_increment, `ip` varchar(20) NOT NULL, `tempo` int(12) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; Após executados os passos acima vamos para a criação da conexão com o banco de dados: agora vamos montar nossa pagina de conexão: <?php mysql_connect("localhost", "root", "") or die (msql_error()); mysql_select_db("contador") or die (mysql_error()); ?> Salve o arquivo com o nome de: conexão.php Vamos agora para o arquivo principal do sistema: <?php //faça a inclusão da página de conexão criada logo acima include "conexão.php"; //determina um tempo para a variável $tempo $tempo = time(); // pega o IP do usuário $ip = $_SERVER['REMOTE_ADDR']; //faz uma consulta para verificar se o ip já existe no banco de dados $verifica = mysql_query("SELECT * FROM online WHERE ip ='$ip'"); //retorna a quantidade de linhas da consulta ou seja, pode retornar 0 ou 1 linha $linhas = mysql_num_rows($verifica); //se não existir o ip no banco ele grava um com um tempo determinado if($linhas == 0) { // gravando o IP e o tempo no DB $acrescenta = mysql_query("INSERT INTO online (ip, tempo) VALUES ('$ip','$tempo')"); } else { // se o IP já existe ele o pega e atualiza o tempo no DB no IP selecionado //pega o IP retornado da consulta $ip = mysql_result($verifica,0,'ip'); //faz um update para o registro do IP existente $atualiza = mysql_query("UPDATE online SET tempo ='$tempo' WHERE ip='$ip'"); } //deleta a linha que não foi atualizada no tempo de 40 segundos mysql_query("DELETE FROM online WHERE tempo <'$tempo'".-"40"); //faz uma consulta para mostrar quantos estão on-line $online = mysql_query("SELECT * FROM online"); //retorna o número de linhas que será a quantidade de usuários on-line nesse momento $agora = mysql_num_rows($online); if($agora==1) { //para ficar mais amigável se tiver somente 1 pessoa on-line echo "Apenas eu estou on-line"; } else { //exibe todos os usuários que estão on-line echo "Temos ".$agora." usuarios on-line."; } ?> Salve-o arquivo com o nome de: online.php Pronto agora é só fazer um include desse arquivo onde quer que apareça a mensagem. Espero gostem do tutorial e que seja util para alguem. Atenciosamente, Edimilson Sousa Quelipe Compartilhar este post Link para o post Compartilhar em outros sites
macielcr7 9 Denunciar post Postado Fevereiro 28, 2010 Muito bom esse Script.!' http://forum.imasters.com.br/public/style_emoticons/default/joia.gif http://forum.imasters.com.br/public/style_emoticons/default/clap.gif Compartilhar este post Link para o post Compartilhar em outros sites
Andrey Knupp Vital 136 Denunciar post Postado Fevereiro 11, 2011 Bem Bacana , to usando aqui hehehe Vlw .. Abraços ;) Compartilhar este post Link para o post Compartilhar em outros sites
Dii 15 Denunciar post Postado Outubro 4, 2011 Script realmente muito bom! Da uma luz para quem não sabe fazer um. Compartilhar este post Link para o post Compartilhar em outros sites
MuitoCurioso 2 Denunciar post Postado Janeiro 22, 2013 Muito bom! Se permite uma sugestão, que tal um script para contagem de leituras no site, limitando a 1 clique por link? Compartilhar este post Link para o post Compartilhar em outros sites
George Mendes 0 Denunciar post Postado Maio 25, 2014 Muito bom o script, mas e se o usuário passar mais de 40 segundos na página, sem atualizá-la, logo ele será tido como expirado e nãos será contado... Sou novo em PHP e posso estar equivocado, se estiver, peço que me corrijam, obrigado. Compartilhar este post Link para o post Compartilhar em outros sites
Vejam.me 0 Denunciar post Postado Maio 4, 2016 Muito bom scripts show parabéns... Compartilhar este post Link para o post Compartilhar em outros sites