Para realzar un código similar es necesario conocer como trabajan las sesiones de php para darle a nuestro sitio un aspecto dinámico, además de bonito.
Mostrar usuarios activos mediante programación Php.
Habrás visto en algunos sitios un contador de usuarios que se encuentran navegando por la misma página que estás visitando.
Vamos a programar con Php un contador de usuarios activos. Para ello utilizaremos una tabla. Dentro de dicha tabla, se irán almacenando los distintos números IP de los visitantes y la hora y fecha en la que el visitante ha ejecutado por ultima vez el script.
También se deberán borrar de la tabla las sesiones que no hayan sido renovadas en un tiempo que nosotros estipulemos como límite.
Para el correcto funcionamiento del script, crearemos una tabla en nuestra base de datos Mysql con el siguiente comando:
CREATE TABLE control_ip (
ip VARCHAR(15) NOT NULL,
fecha INT(14) UNSIGNED NOT NULL,
INDEX (ip)
);
El campo ip, que es el que almacena el número IP del visitante, está indexado para permitir una búsqueda rápida.
Y ahora el código Php de nuestro script es el siguiente
<?
////////////////////////////////////////////
//USUARIOS ACTIVOS
//contar el numero de 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 la hora actual
$ahora = time();
//conectamos a la base de datos
//Usad vuestros propios parametros!!
$conn = mysql_connect($host,$user,$password);
mysql_select_db($db,$conn);
//actualizamos la tabla
//borrando los registros de las ip inactivas (24 minutos en el ejemplo pero puede ser un tiempo mayor o menor)
$limite = $ahora-24*60;
$ssql = "delete from control_ip where fecha < ".$limite;
mysql_query($ssql);
//buscar 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 actualizar el campo fecha
if (mysql_num_rows($result) != 0) $ssql = "update control_ip set fecha = ".$ahora." where ip = '$ip'";
//si no existe insertar 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);
//calcular el numero de sesiones
$ssql = "select ip from control_ip";
$result = mysql_query($ssql);
$usuarios = mysql_num_rows($result);
//liberar memoria
mysql_free_result($result);
//devolvemos el resultado
return $usuarios;
}
?>
El script es de fácil de entender.
Para obtener el valor proporcionado por la función a nuestro script (es decir el número de usuarios activos) realizamos una llamada clásica del tipo:
$active_users = usuarios_activos();
Espero que les guste este contador de usuarios activos programado en Php.
contadoras de monedas | éthylomètre | imagenes 3d



0 comentarios:
Publicar un comentario en la entrada