Usuários Online
Antes de você fazer qualquer programa não importando a linguagem, é necessário você ter uma noção básica do funcionamento do seu script, por exemplo, quero fazer um form mail, opa, já sei que preciso receber as informações de um formulário e mandar com a função mail().
Agora, quanto aos Usuários Online a lógica é que o programa verifique na hora os IPs dos usuários no site e que os IPs antigos sejam deletados, após esse processo só falta contar o numero de Usuários Online...
Vamos usar o DB com a tabela chamada usersonline, ela vai ter as colunas: ip,time. A coluna ip gravará o IP do visitante para que ele não se repita, a coluna time determinará a hora em que o visitante deu seu ultimo clique para podermos deleta-lo no caso dele passar cerca de 5 minutos inativo.
Tabela MySQL
Vamos criar nossa tabela com o seguinte código:
Agora vamos criar o arquivo que vai retornar os dados:
Depois faça as alteraçõe que jugar necessárias.
att,
kikoweb.com
Agora, quanto aos Usuários Online a lógica é que o programa verifique na hora os IPs dos usuários no site e que os IPs antigos sejam deletados, após esse processo só falta contar o numero de Usuários Online...
Vamos usar o DB com a tabela chamada usersonline, ela vai ter as colunas: ip,time. A coluna ip gravará o IP do visitante para que ele não se repita, a coluna time determinará a hora em que o visitante deu seu ultimo clique para podermos deleta-lo no caso dele passar cerca de 5 minutos inativo.
Tabela MySQL
Vamos criar nossa tabela com o seguinte código:
CREATE TABLE usersonline (
ip VARCHAR(255) NOT NULL,
TIME INT(12) NOT NULL
);
Agora vamos criar o arquivo que vai retornar os dados:
<?php
//Config:
$local ="localhost";
$user ="root"; //Usuário do DataBase
$senha=""; //Senha do DataBase
$db =""; //DataBase
$tempmins = 5; //minutos para inatividade de um usuário
//Código:
$ip = $REMOTE_ADDR; //pega o IP do visitante
$res = mysql_connect("$local", "$user", "$senha") or die ("Erro de conexão");
mysql_select_db($db,$res); //seleciona o DB
//verifica se o ip ja esta no DB
if (mysql_num_rows(mysql_query("SELECT * FROM usersonline WHERE ip='".$ip."'"))>0) {
//ja que ele está é necessario dar um update no time para que ele não seja deletado rapdamente
mysql_query('UPDATE usersonline SET time="'.time().'" WHERE ip="'.$ip.'"');
} else {
//ele não está no DB, então prescisamos inseri-lo
mysql_query('INSERT INTO usersonline (ip,time) VALUES ("'.$ip.'","'.time().'")');
}
//deleta os ips com mais de 5 minutos
mysql_query('DELETE FROM usersonline WHERE time<'.(time()-($tempmins*60)));
//Mostra na pagina os usuarios online
echo mysql_num_rows(mysql_query("SELECT * FROM usersonline")).' usuários online';
?>
Depois faça as alteraçõe que jugar necessárias.
att,
kikoweb.com