Tecnologia

Número de usuários online na página

Para contabilizar o número de usuários online na página, vamos usar a seguinte lógica: salvar em um banco de dados a dupla 'ip <-> hora do acesso' .


 
$expired = 5; //minutos para inatividade de um usuário
$ip= $_SERVER["REMOTE_ADDR"]; //pega o IP do visitante

// select para verificar se o usuario ja visitou a pagina
if (mysqli_num_rows(mysqli_query("SELECT * FROM usersonline WHERE ip = '".$ip."'")) > 0) {
	
	//se ip ja visitou, atualizo o tempo
	mysqli_query('UPDATE usersonline SET last_time = "'.time().'" WHERE ip = "'.$ip.'"');

} else { 

	// caso contrario, adiciono ele na tabela
	mysqli_query('INSERT INTO usersonline (ip, last_time) VALUES ("'.$ip.'", "'.time().'")');

}

// deletamos os ips com mais de 5 minutos de inatividade
mysqli_query('DELETE FROM usersonline WHERE last_time < '.(time()-($expired*60)));

//retornamos o numero de usuarios online
echo mysqli_num_rows(mysqli_query("SELECT * FROM usersonline")).' usuários online';
2020 © B85 Tecnologia
eu@andersonbravo.com.br