Olá pessal!
Aqui estou novamente, para explicar a vocês como saber quantos usuários estão conectados em seu site em tempo real.
O script é bem simples e de fácil manipulação e utiliza o MySQL como base de dados.
Vamos lá!
Primeiro vamos criar a tablela em nosso banco de dados MySQL.
-------------------------
Arquivo: UserOnline.SQL
Ação....: Criar uma tabela chamada useronline.
-------------------------
CREATE TABLE `useronline` (
`timestamp` int(15) NOT NULL default '0',
`ip` varchar(40) NOT NULL default '',
`arquivo` varchar(100) NOT NULL default '',
PRIMARY KEY (`timestamp`),
KEY `ip` (`ip`)
) TYPE=MyISAM;
-------------------------
Arquivo: online.php
Ação....: Verifica no BD o número de usuários online atrvéz do IP do usuário.
-------------------------
<?
// Configurando a conexão com seu banco de dados.
$my_host = "localhost"; // Endereço do servidor mySQL
$my_user = "root"; // Seu Login no mySQL
$my_pass = ""; // Sua Senha no mySQL
$my_bd = ""; // Nome do Banco de Dados
// Efetuando conexão.
mysql_connect($my_host, $my_user, $my_pass) or die (mysql_error());
// Determinando tempo
$timestamp=time();
// Valor em segundos
$timeout=time()-300;
// Verifica se há o IP atual está cadastrado no bd e grava esse IP caso não seja localizado.
$result=mysql_query($my_bd, "INSERT INTO useronline VALUES ('$timestamp','$REMOTE_ADDR','$PHP_SELF')");
// Verifica se há IPs no bd que não estão mais no site após o time ter expirado.
$result=mysql_query($my_bd, "DELETE FROM useronline WHERE timestamp<$timeout");
// Seleciona os IPs do BD mesmo que existam mais de um valor igual.
$result=mysql_query($my_bd, "SELECT DISTINCT ip FROM useronline") or die(mysql_error());
// Atribui a variavel "$usuário" o número de registros encontrados no BD!
$usuarios=mysql_num_rows($result);
// Fecha a conexão com o banco de dados.
mysql_close();
// Verifica se o numero de registros encontrados é igual a 1. Se for ele exibirá "1 usuario" senão "X usuarios"
if ($usuarios <= "1"){
echo $usuario." usuario on-line.";
}
else {
echo $usuario." usuarios on-line.";
}
?>
-------------------------
Agora para exibir o número de usuários on-line basta incluí-los na págia desejada, por exemplo:
<? include("online.php"); ?>
Espero que este artigo venha ajudar aos novatos a enetender um pouco mais das sintaxes do PHP.
Fonte:
www.php5.com.br