Usuarios Online con PHP & MySQL
En este corto artÃculo enseñamos como mostrar la cantidad de visitantes de nuestro sitio Web. Para darle un pequeño valor agregado, en caso de ser uno el visitante se mostrará en singular, en caso de ser más se mostrará en plural, mediante el uso de un sencillo condicional.
Primero, creamos nuestra tabla Gente On Line:
create table gente_online (
date int not null,
ip varchar(40) not null
);
Luego, creamos el script que nos muestra los usuarios en lÃnea y lo guardamos como users_online.php:
<?php
// nos conectamos a la BD
require_once('connections.php');
// Tiempo máximo de espera
$time = 5 ;
// Momento que entra en lÃnea
$date = time() ;
// Recuperamos su IP
$ip = $REMOTE_ADDR ;
// Tiempo Limite de espera
$limite = $date-$time*60 ;
// si se supera el tiempo limite (5 minutos) lo borramos
mysql_query("delete from gente_online where date < $limite") ;
// tomamos todos los usuarios en linea
$resp = mysql_query("select * from gente_online where ip='$ip'") ;
// Si son los mismo actualizamos la tabla gente_online
if(mysql_num_rows($resp) != 0) {
mysql_query("update gente_online set date='$date' where ip='$ip'") ;
}
// de lo contrario insertamos los nuevos
else {
mysql_query("insert into gente_online (date,ip) values ('$date','$ip')") ;
}
// Seleccionamos toda la tabla
$query = "SELECT * FROM gente_online";
// Ocultamos algún mensaje de error con @
$resp = @mysql_query($query) or die(mysql_error());
// almacenamos la consulta en la variable $usuarios
$usuarios = mysql_num_rows($resp);
// Si hay 1 usuarios se muestra en singular; si hay más de uno, en plural
if($usuarios > 1 || $usuarios == 0){echo("Hay ");}else{echo("Hay ");}if($usuarios == 0){echo("no ");}else{echo($usuarios." ");}if($usuarios > 1 || $usuarios == 0){echo("usuarios en lÃnea.");}else{echo("usuario en lÃnea.");}
?>
Fianlmente, para mostrarlo en nuestras distintas páginas web, colocamos un require() en cada una.
<?
require_once("users_online.php");
?>
En un artÃculo posterior enseñaremos como mostrar su IP a nuestros visitantes y crear un cuadro ¿Quién está en LÃnea?





Hola est
- responder
Enviado por manu (no verificado) el Mié, 11/29/2006 - 00:50.el tiempo que indicais con un 5 son minutos o segundos????
- responder
Enviado por tyler (no verificado) el Jue, 07/12/2007 - 11:14.Son minutos. Si te fijas un par de lineas m
- responder
Enviado por Bal (no verificado) el Vie, 07/13/2007 - 13:55.saludos les dejo una direcion para escuchar musica en linea aver si les gusta
- responder
Enviado por luipa (no verificado) el Jue, 08/23/2007 - 15:22.En conections.php que deberia de poner?
- responder
Enviado por Lucas (no verificado) el Sáb, 08/25/2007 - 11:58.En 'connections.php' agrega este c
- responder
Enviado por KhrixS (no verificado) el Dom, 09/23/2007 - 19:57.No entendemos. Podr
- responder
Enviado por Nicanor (no verificado) el Vie, 11/02/2007 - 11:15.Buenas, para los interesados, aca dejo una explicaci
- responder
Enviado por Charlynovoa (no verificado) el Sáb, 02/09/2008 - 21:12.Deja tu comentario