<?php
//BD
include(‘conexion.php’);
// Minutos maximos de inactividad
$minutos= 10;
// Momento cuando entra el usuario a la web
$fecha= time() ;
// IP del usuario
$ip = $REMOTE_ADDR ;
// Tiempo Limite de espera, en este ejemplo es el tiempo actual menos 10 minutos
$limite = $fecha-$minutos*60 ;
// si se supera el tiempo limite (10 minutos) lo borramos
mysql_query(“delete from gente_online where date < $limite”) ;
// miramos si la ip del visitante ya existe
$resp = mysql_query(“select * from gente_online where ip=’$ip’”) ;
// Si existe la actualizamos
if(mysql_num_rows($resp) != 0) {
mysql_query(“update gente_online set date=’$date’ where ip=’$ip’”) ;
}
// de lo contrario lo insertamos
else {
mysql_query(“insert into gente_online (date,ip) values (‘$date’,'$ip’)”) ;
}
// Seleccionamos toda la tabla
$query = “SELECT * FROM gente_online”;
$resp = @mysql_query($query) or die(mysql_error());
// en la variable usuarios habra el total de fias(ip unicas) de nuestra tabla
$usuarios = mysql_num_rows($resp);
// Montamos la frase, teniendo en cueta plural, singular y el 0
if($usuarios==0){
echo “No hay”;
}else{
echo “Hay”;
}
if($usuarios > 1 || $usuarios == 0){
echo “$usuarios usuarios en línea.”;
}else{
echo “$usuarios usuario en línea.”;
}
?>
Por supuesto, en el include inicial tiene que haber la conexion a la base de datos.
Y la tabla a la cual hacemos referencia es esta:
create table gente_online (
date int not null,
ip varchar(40) not null
);



