es un script basico que funciona con PHP y MYSQL que muestra cuantos usuarios hay en linea y un total de visitas....
antes que nada, creen una base de datos y ejecuten estas consultas
Código:
CREATE TABLE IF NOT EXISTS `gente_online` ( `date` int(11) NOT NULL, `ip` varchar(40) NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
Código:
CREATE TABLE IF NOT EXISTS `visitas` ( `date` int(11) NOT NULL, `ip` varchar(40) NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
consta de 3 archivos, que se los paso a mostrar:
users.php: este se encarga de tomar los usuarios en linea y guardarlos en la base de datos
Código PHP:
<?php
// nos conectamos a la BD
require_once('config.php');
// Tiempo mximo de espera
$time = 2 ;
// Momento que entra en lnea
$date = time() ;
// Recuperamos su IP
$ip = $_SERVER['REMOTE_ADDR'] ;
// Tiempo Limite de espera
$limite = $date-$time*60 ;
// si se supera el tiempo limite (1 minutos) lo borramos
mysql_query("delete from gente_online where date < $limite") ;
//recogemos todo y lo copiamos al campo visitas
mysql_query("update INTO visitas (ip) SELECT gente_online.ip FROM gente_online");
// 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 algn mensaje de error con @
$resp = @mysql_query($query) or die(mysql_error());
// almacenamos la consulta en la variable $usuarios
$usuarios = mysql_num_rows($resp);
?>
visitas.php, es casi lo mismo que el users.php nomas que este cuenta las visitas
Código PHP:
<?php
// nos conectamos a la BD
require_once('config.php');
// tomamos todos los usuarios en linea
$resp = mysql_query("select * from visitas where ip='$ip'") ;
// Si son los mismo actualizamos la tabla visitas
if(mysql_num_rows($resp) != 0) {
mysql_query("update visitas set where ip='$ip'") ;
}
// de lo contrario insertamos los nuevos
else {
mysql_query("insert into visitas (ip) values ('$ip')") ;
}
// Seleccionamos toda la tabla
$query = "SELECT * FROM visitas";
// Ocultamos algn mensaje de error con @
$resp = @mysql_query($query) or die(mysql_error());
// almacenamos la consulta en la variable $usuarios
$usuarios = mysql_num_rows($resp);
?>
Código PHP:
$conn= mysql_connect("servidorsql", "nombredeusersql", "contrasenia");
mysql_select_db("nombredelabasededatos", $conn);
ya con todo esto hecho, solo falta que funcione, para eso solo deben colocar este codigo en donde mas lo deseen
Código PHP:
<div>Usuarios online: <b>
<?php include('users.php');
echo $usuarios?></b></div>
<div>Total de visitas: <b>
<?php include('visitas.php');
echo $usuarios?></b></div>
saludos!
pd: les dejo la demo, espero no lo tomen como spam, es solo para mostrar el resultado final :D
http://mulrehost.com.ar/u.php