Hola.
Como Hacer Un Contador De Visitas Online.. Practico Tuto !
Con archivos:
Archivo activos.php
Código:
<?php
$tiempo_logout = 600;
$arr = file("usuarios.dat"); // INDICAMOS EL ARCHIVO
$contenido = $REMOTE_ADDR.":".time()."\n";
for($i=0;$i<sizeof($arr);$i++) {
$tmp = explode(":",$arr[$i]);
if (( $tmp[0] != $REMOTE_ADDR ) && (( time() - $tmp[1] ) < $tiempo_logout )) {
$contenido .= $REMOTE_ADDR.":".time()."\n"; // CALCULAMOS EL TIEMPO
}
}
$fp = fopen("usuarios.dat","w"); // ABRIMOS EL ARCHIVO
fputs($fp,$contenido);
fclose($fp); // LO CERRAMOS
$array = file("usuarios.dat"); //LO MOSTRAMOS
$USUARIOS_ACTIVOS = count($array);
if($USUARIOS_ACTIVOS=="1") { echo "1 user activo"; }
else { echo $USUARIOS_ACTIVOS. " users activos"; }
?>
Archivo prueba.php
Código:
Código:
<?php include("activos.php"); ?>
Archivo usuarios.dat
Código:
Código:
127.0.0.1:1122183298
Con base de datos:
Archivo index.php
Código:
Código:
<?php
$host="localhost";
$user_database = "root";
$password_database = "";
$base_datos="visitas";
$minutos_activo=20;
function visitantes_activos() {
global $ip_visita,$host,$user_database,$password_database,$base_datos,$minutos_activo;
//Momento actual
$ahora = time();
//conectamos a la base de datos
$conectado = mysql_connect($host,$user_database,$password_database);
mysql_select_db($base_datos,$conectado);
//borramos los registros de las ip inactivas
$limite = $ahora-$minutos_activo*60;
$consulta = "delete from visitas where fecha < ".$limite;
mysql_query($consulta);
//miramos si el ip del visitante existe en nuestra tabla
$consulta = "select ip, fecha from visitas where ip = '$ip_visita'";
$resultado = mysql_query($consulta);
//si existe actualizamos el campo fecha
//si no existe insertamos el registro correspondiente a esta visita
if (mysql_num_rows($resultado) != 0){
$consulta = "update visitas set fecha = ".$ahora." where ip = '$ip_visita'";
} else {
$consulta = "insert into visitas (ip, fecha) values ('$ip_visita', $ahora)";
}
mysql_query($consulta);
//contamos el numero de visitas activas
$consulta = "select ip from visitas";
$resultado = mysql_query($consulta);
$visitas = mysql_num_rows($resultado);
//liberamos memoria
mysql_free_result($resultado);
//devolvemos el resultado
return $visitas;
}
// Tomamos la ip del visitante
$ip_visita=getenv($REMOTE_ADDR);
// Vemos el numero de visitantes activos
$visact=visitantes_activos();
// Efectuamos una salida en JavaScript
print "document.write('".$visact."');\n";
?>
Archivo sql.sql
Código:
Código:
CREATE TABLE visitas (
ip varchar(15),
fecha int(14) unsigned DEFAULT '0' NOT NULL,
KEY ip (ip)
);
Por Ultimo Aqui tiene Su Contador Online :