Batiburrillo.net Lunes, 13 de octubre de 2008 | 16:47
Páginas vistas desde 1/01/2008: 6846588 | Hoy: 17405
Visitantes totales: 2027107 | Hoy: 3330 | Online: 183
¡De todo un poco!
  El tiempo   Cpmbinación ganadora   Información bursatil

Contador y usuarios online

 
  Todas las categorías

· Novedades
· Sistema operativo
· Productividad
· Internet
· Sitios web
· Hardware

Trucos Informáticos - Sistema operativo Trucos
Optimiza tu sistema
Software Software
El programa que necesitas
Imaginación Imaginación
Para pensar

  Foros de Batiburrillo

 Últimos mensajes
13.10 8:12 Frankestein
Mensaje Problemas con Divx...
12.10 9:03 fabriciano
Mensaje Ultimas-Descargas....
12.10 1:17 kako
Mensaje No me responde al ...
12.10 1:10 kako
Mensaje Problemas arrancar...
12.10 6:13 begonias
Mensaje NUEVO MU-VISTA BEG...
12.10 5:01 ADMSeUz
Mensaje MuWimar Season 4 o...
11.10 11:20 fabriciano
Mensaje Los usuarios no pu...
11.10 11:16 fabriciano
Mensaje Internet explorer ...
11.10 8:36 FRANCISCO ARIAS SOLIS
Mensaje Eugenio Montale po...
11.10 6:46 tixchel_061222
Mensaje calcular el centro...

  Arte y Poesía

Arte y Poesía


Noticias de Actualidad Noticias de Actualidad
Las últimas noticias
Arte y Poesía Arte y Poesía
Poemas y textos
Disquisiciones Disquisiciones
Ponte al día

Webmasters - Directorio de Sitios en Internet Webmasters
Directorio de Sitios en Internet
Imaginación Imaginación
Artículos para disfrutar
Webquest - Actividad de investigación Webquest
Actividad de investigación

  Descargas de Software

Últimas novedades

Dell
Experiencia en calidad
Configuración personalizada de tu PC
¡Lo último de la tecnología al mejor precio!

Si tienes un sitio Web alojado en un servidor que soporta PHP y MySQL, puedes implementar en tus páginas un script que cuenta las visitas (impresiones) totales, las del día actual y los usuarios que hay conectados en cada instante. Los datos se almacenan en dos tablas, que debes albergar en tu servidor MySQL.

Debes subir a tu servidor, a través de FTP, un script con el nombre conta_user.php (o el que tu elijas). Previamente deberás crear una carpeta, que puedes llamar counter, que sirva para alojar el contador. El código del script es el siguiente:

 

<?php
/*
:: Programa para contar las páginas vistas y los usuarios online en un sitio web ::
Cuenta las visitas totales (acumuladas), las diarias y los usuarios que se encuentran activos en el sitio.
*/
/*
:: Datos de la base de datos ::
*/
$server = 'tu_servidor_de_base_de_datos';
$user = 'nombre_usuario';
$pass = 'contraseña';
$db2 = 'nombre_base';

/*
:: Conexión a la base ::
*/

$db = mysql_connect("$server", "$user", "$pass") or die("No hay conexión.");
if(!$db)
die("no db");
if(!mysql_select_db("$db2",$db))
die("No se seleccionó la base de datos.");

/*
:: Lectura y escritura de datos en la tabla visitas ::
*/

$server_time=date("U");
$client_ip=$REMOTE_ADDR;
$arr = getdate();
$dia_actual = $arr["mday"];
$hora_actual = $arr["hours"];
$minuto_actual = $arr["minutes"];

$visita = mysql_query("SELECT * FROM visitas");
while($row = mysql_fetch_array($visita)) {
extract($row);
$dia = $row["dia"];
$totales = $row["totales"];
$hoy = $row["hoy"];
if ($dia_actual != $dia) {
$hoy = 1;
}else{
$hoy++;
}
$totales++;
}
$actualiza="UPDATE visitas SET dia='$dia_actual', totales='$totales', hoy='$hoy'";
mysql_query($actualiza);

/*
:: Lectura y escritura de datos de usuarios online ::
*/

$p4 = mysql_query("SELECT * FROM current_users WHERE ip='$client_ip'");
$pa4 = mysql_fetch_array($p4);
if($pa4) {
$update="UPDATE current_users set time='$server_time' where ip='$pa4[ip]'";
mysql_query($update) or die("No es posible actualizar: " . mysql_error());
} else {
$query=("INSERT INTO `current_users` (`ip`, `time`) VALUES ('$client_ip', '$server_time')");
$result = mysql_query($query) or die("No se puede insertar: " . mysql_error());
}
$time2=$server_time-1800;
$remove="DELETE from current_users WHERE time<'$time2'";
mysql_query($remove) or die("Unable to delete: " . mysql_error());

$result6 = mysql_query("SELECT ip FROM current_users" );

$current_visitors = mysql_num_rows($result6);

/*
:: Presentación de resultados en la página ::
*/

echo "<b>Visitas desde 23/02/2005:</b> <font color=red>$totales</font> | <b>Visitas hoy:</b> <font color=blue>$hoy</font> | <b>Online:</b> <font color=red>$current_visitors</font> <b>visitantes</b>";
mysql_close ($db);
?>

Para crear las tablas en tu servidor de base de datos debes generar una consulta SQL (¿con phpMyAdmin?) con los datos siguientes:

#
# Estructura de tabla para la tabla `current_users`
#

CREATE TABLE `current_users` (
`ip` varchar(30) NOT NULL default '',
`time` varchar(30) NOT NULL default ''
) TYPE=MyISAM;

# --------------------------------------------------------

#
# Estructura de tabla para la tabla `visitas`
#

CREATE TABLE `visitas` (
`dia` int(2) unsigned default NULL,
`totales` int(7) unsigned default NULL,
`hoy` int(5) unsigned default NULL
) TYPE=MyISAM;

#
# Volcar la base de datos para la tabla `visitas`
#

INSERT INTO `visitas` VALUES (23, 1, 1);

¿Cómo implementarlo? Sólo habrá que incluir en cada página del sitio, en el lugar que consideremos oportuno, el siguiente código (cambiando /home/sitio/counter por la ruta adecuada):

<?php include (“/home/sitio/counter/conta_user.php”); ?>

Cada vez que es llamado el script se llevan a cabo los pasos siguientes:

  1. Se comprueba si el día registrado en la BD coincide con el del servidor. Si no coincide, se pone a cero el contador diario. Si coincide, se incrementa en una unidad el contador.
  2. Se incrementa en una unidad el contador total.
  3. Se verifica la IP del visitante. Si está en la tabla current_users, no se incrementa en uno el número de usuarios online; en caso contrario se suma uno al total de usuarios activos en el sitio. Por defecto se cuentan visitantes de los 30 últimos minutos:
    $time2=$server_time-1800

Puedes descargar el script y el generador de las tablas en Conta - Online.

 

Otras sugerencias

Joongel, Internet de forma sencilla

No es un buscador de Internet, ni un multibuscador, ni un buscador de buscadores, es mucho más, un sitio que te ayudará a utilizar Internet de forma sencilla. Joongel es una web pensada para todos, no sólo para los que están perdidos, que no saben hacia dónde dirigir sus pasos en su navegar por la red, sino también para los veteranos que quieren tener acceso a ...

 

Crea una imagen animada y parlante a partir de tu rostro con PhotoFace

No es la primera vez que hablamos de aplicaciones que permiten crear un avatar que sirva para identificarnos en foros, redes sociales y medios de similares características. No hace muchos días escribimos Crea un avatar con Moonjee. Acabamos de descubrir una aplicación online que nos ha sorprendido gratamente por su facilidad de ...

 

Sentido Común

Murió Sentido Común:
Hoy lloramos la muerte de un querido amigo, Sentido Común, que ha estado entre nosotros durante muchos años.
Nadie sabe a ciencia cierta cuántos años tenía, puesto que los datos sobre su nacimiento hace mucho que se han perdido en los vericuetos de la burocracia...

New Melodies, por la música libre

Internet está en boca de todos por causa de la música, mejor de la descarga de melodías o de CDS completos de artistas conocidos, pagando o sin pagar (recurriendo a las redes P2P o a las descargas directas). El manido DRM imprime un sello de seguridad para un negocio altamente rentable para una gran cantidad de compañías, a pesar de las quejas que ellas mismas promueven...

 

SUMO Paint, un completísimo editor de imágenes

SUMO Paint es una aplicación online que permite crear, editar y comentar imágenes utilizando un conjunto de potentes herramientas. Puedes sustituir, en momentos puntuales o siempre que quieras, a aplicaciones de escritorio de reconocida valía. Tienes todo lo que puedas encontrar en cualquiera de éstas, y algo más...

 

Optimiza imágenes online con ’smush it’

El intentar retocar imágenes a mano para que ocupen menos espacio sin perder calidad, no es fácil. Existen aplicaciones que utilizan asistentes que nos ayudan a conseguir buenos resultados, pero la mayoría de estos programas no son gratuitos y, además, sin desdeñarlos totalmente, no pueden utilizarse en cualquier momento ...