Ver Mensaje Individual
  #2 (permalink)  
Antiguo 03/10/2006, 23:15
Avatar de kctus
kctus
Usuario baneado!
 
Fecha de Ingreso: noviembre-2002
Ubicación: ToledoBsAsGaliciaBolivia
Mensajes: 1.038
Antigüedad: 21 años, 5 meses
Puntos: 1
No recuerdo de donde saqué el script... y no tiene ningún copyright visible... así que espero que el autor me perdone el publicarlo acá.

Yo uso esto desde hace tiempo y me va muy bien.

Crear tabla en MySQL

Código HTML:
CREATE TABLE IF NOT EXISTS `control_ip` (
  `ip` text NOT NULL,
  `fecha` int(11) default NULL
) TYPE=MyISAM;
Poner este código al inicio de cada página de tu sitio (cambiando el usuario, contraseña y nombre de la base de datos)

Código PHP:
<?
//USUARIOS ACTIVOS
function usuarios_activos()
{
   
//permitimos el uso de la variable portadora del numero ip en nuestra funcion
   
global $REMOTE_ADDR;

   
//asignamos un nombre memotecnico a la variable
   
$ip $REMOTE_ADDR;
   
//definimos el momento actual
   
$ahora time();

   
//conectamos a la base de datos
   
$conn mysql_connect("localhost","USUARIO","CONTRASEÑA");
   
mysql_select_db("BASE DE DATOS",$conn);

   
//actualizamos la tabla borrando los registros de las ip inactivas (24 minutos)
   
$limite $ahora-24*60;
   
$ssql "delete from control_ip where fecha < ".$limite;
   
mysql_query($ssql);

   
//miramos si el ip del visitante existe en nuestra tabla
   
$ssql "select ip, fecha from control_ip where ip = '$ip'";
   
$result mysql_query($ssql);

   
//si existe actualizamos el campo fecha
   
if (mysql_num_rows($result) != 0$ssql "update control_ip set fecha = ".$ahora." where ip = '$ip'";
   
//si no existe insertamos el registro correspondiente a la nueva sesion
   
else $ssql "insert into control_ip (ip, fecha) values ('$ip', $ahora)";

   
//ejecutamos la sentencia sql
   
mysql_query($ssql);

   
//calculamos el numero de sesiones
   
$ssql "select ip from control_ip";
   
$result mysql_query($ssql);
   
$usuarios mysql_num_rows($result);

   
//liberamos memoria
   
mysql_free_result($result);

   
//devolvemos el resultado
   
return $usuarios;
}
?>
Y ponemos lo siguiente, en el lugar donde queramos mostrar el número de usuarios activos en todo nuestro sitio

Código PHP:
<?
$active_users 
usuarios_activos();
echo 
$active_users
?>
Insisto en que no sé de donde lo saqué, pero anda bien