Usuario:
Contraseña:

Inicio | Nuevos | Populares | Top | Publicar Ejemplos | Pedir Ejemplos

Por ejemplo: Metáforas, hiatos, adjetivos, sustantivos,...
Estás en: Ejemplos10.com > Informática - Programación > PHP > Usuarios online en PHP

Ejemplos de Usuarios online en PHP
Enviado por natttt
Publicado el 2011-01-06 17:42:09
Para el correcto funcionamiento del script, es necesario antes de nada crear una tabla en nuestra base de datos. Esta sentencia SQL puede ayudaros en la tarea:

CREATE TABLE control_ip (
ip VARCHAR(15) NOT NULL,
fecha INT(14) UNSIGNED NOT NULL,
INDEX (ip)
);


Como veis, el campo ip, que almacena el número IP del visitante, está indexado. Esto nos permitirá una selección rápida.

Pasemos a continuación a mostrar el script que utilizaremos:

<?
//USUARIOS ACTIVOS
//Calcula 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 el momento 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)
$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;
}
?>

Podéis observar, como viene siendo norma, que el script es expresado en forma de función. Después de definir la IP y el momento en el que el script está siendo ejecutado, pasamos a interaccionar con la base de datos. Dentro de este proceso, podemos distinguir distintas fases:

* Conexión con la base de datos
* Barrido de la tabla para eliminar los registros obsoletos.
* Inserción o actualización de un registro dependiendo de si el visitante es nuevo o no.
* Cómputo del número de registros de la tabla



La función finaliza liberando el espacio de memoria utilizado en sus consultas y enviando el resultado del cálculo efectuado.

Para sacar el valor proporcionado por la función a nuestro script principal tendremos que realizar una llamada clásica del tipo:

$active_users = usuarios_activos();


Espero que les sirva de ayuda este script. Saludos!!


¿Te sirvió este ejemplo?
 (50%) SI    NO (50%)




Compartir este ejemplo:

O bien, copie y pegue el siguiente código en su sitio web, blog o foro:


Comentarios
Para dejar un comentario, regístrese gratis o si ya está registrado, inicie sesión.

Todavía no se ha escrito ningún comentario.


Ejemplos relacionados
Leer archivo CSV en PHP Publicado el 2011-04-08 12:04:47
Para leer un archivo (fichero) .csv en php, un fichero que su contenido esté separado por comas: "nombre";"apellido";"edad" "pepito";"grill...
Fecha en español en PHP Publicado el 2011-04-08 12:02:45
El idioma por defecto en informática es el inglés, y eso a veces nos trae algunos problemas. Si hacemos: <?php echo strftime("%A %d de %...
Juntar elementos array en PHP con implode() Publicado el 2011-04-08 11:59:11
Si tenemos una cadena separada en elementos de un array y queremos volver a juntarlos, podemos usar la función implode() o join. Por ejemplo...
Separar cadenas en partes en PHP con list() Publicado el 2011-04-08 11:57:20
Para separar una cadena de carácteres en partes podemos usar la función list(). Por ejemplo, podemos necesitar separar una fecha, podemos q...
Separar cadenas en partes en PHP con explode() Publicado el 2011-04-08 11:55:01
Para separar una cadena de carácteres en partes podemos usar la función explode(). Por ejemplo, podemos necesitar de una cadena que sea un ...
© 2010 Ejemplos10.com · Recopilatorio de ejemplos de todo tipo gratis   Aviso Legal | Contacto | Pendidentes

eXTReMe Tracker