Batiburrillo.net Domingo, 20 de julio de 2008 | 18:11
Páginas vistas desde 1/01/2008: 4779149 | Hoy: 10145
Visitantes totales: 1575890 | Hoy: 2383 | Online: 115
¡De todo un poco!
Búsqueda en Batiburrillo  

Contador de páginas vistas y visitantes

 
  Todas las categorías

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

  Descargas de Software

Últimas novedades

Alabaja.com

  Destacado

Las cinco vocales

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

  Foros de Batiburrillo

 Últimos mensajes
20.07 4:55 FRANCISCO ARIAS SOLIS
Mensaje John Bunyan por Fr...
20.07 4:08 martitagordi
Mensaje no encuentro una r...
19.07 1:27 foroparanormal
Mensaje Borré por error la...
18.07 2:47 HollowRiku
Mensaje SQL Error : 1064
18.07 4:35 solrac01
Mensaje Descargar el Photo...
18.07 3:10 solrac01
Mensaje Me desapareció el ...
17.07 8:51 solrac01
Mensaje asdassdasdasdd
17.07 6:21 ThE KuKa
Mensaje Lanzado phpBB 3.0....
17.07 6:02 misi
Mensaje Problemas al subir...
17.07 11:35 fabriciano
Mensaje Actualización de p...

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

  Noticias

La crueldad en un grado extremo
¿Contra quién votamos?
Se come carne de sus nalgas
El cambio climático
Ordenador que piensa por ti
Poemas en el asfalto
La muerte festiva

Tecnología Tecnología
Las últimas noticias
Productividad Productividad
Consíguelo en tu ordenador
Aventura Aventura
Afronta el peligro

Te ofrecemos un script en PHP para que introduzcas en las páginas de tu blog o web y puedas así controlar el número de visitantes y de páginas vistas. En realidad el script cuenta, actualiza y muestra las Páginas vistas desde el instante en que lo instalas, las Páginas vistas Hoy, los Visitantes desde el inicio de la instalación, los Visitantes Hoy y los Visitantes Online.

El funcionamiento es muy simple. Lo podemos resumir en los apartados siguientes:

  • Existen dos tablas, que se han de crear en una base de datos MySQL, que gestionan el flujo de visitantes y páginas vistas: visitas y current_users.

  • La tabla visitas contiene 5 campos:
    dia - almacena el día actual.
    totales - almacena el número de páginas vistas totales.
    hoy - almacena el número de páginas vistas hoy.
    vistotales - almacena el número de visitantes totales.
    vishoy - almacena el número de visitantes hoy.

  • La tabla current_users tiene 2 campos:
    ip - almacena la dirección IP del visitante.
    time - almacena la hora actual.

  • Cuando un visitante entra en alguna de las páginas del sitio queda registrado en la tabla current_users con su IP y la hora de entrada. Al mismo tiempo vistotales y vishoy se incrementan en una unidad. También se incrementan en una unidad totales y hoy. Estas dos últimas seguirán incrementándose cada vez que el visitante abra una nueva página.

  • Al cambiar de día, el campo dia también cambia. Eso hace que hoy (contador de páginas vistas diarias) y vishoy (contador de visitantes diarios) se reinicien.

El script que controla el funcionamiento del contador es el siguiente:

  Código:

<?php
/*
:: Datos de acceso a la base de datos ::
*/
$server = 'servidor_de_base_datos';
$user = 'nombre_de_usuario';
$pass = 'contraseña';
$db2 = 'nombre_de_la_base_de_datos';

/*
:: 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=$_SERVER['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"];
$vistotales = $row["vistotales"];
$vishoy = $row["vishoy"];
if ($dia_actual != $dia) {
$hoy = 1;
$vishoy = 1;
}else{
$hoy++;
}
$totales++;
}
$actualiza="UPDATE visitas SET dia='$dia_actual', totales='$totales', hoy='$hoy', vishoy='$vishoy'";
mysql_query($actualiza);

/*
:: Lectura y escritura de datos de usuarios online. Incremento, si hay un nuevo usuario, de los valores correspondientes del número de visitantes en la tabla visitas ::
*/

$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());
$vishoy++;
$vistotales++;
$actualiza1="UPDATE visitas SET vistotales='$vistotales', vishoy='$vishoy'";
mysql_query($actualiza1);
}
$time2=$server_time-900;
$remove="DELETE from current_users WHERE time<'$time2'";
mysql_query($remove) or die("No se puede borrar: " . 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 "Páginas vistas desde 1/01/2007: <font color=red>$totales</font> | Hoy: <font color=blue>$hoy</font><br>Visitantes totales: <font color=red>$vistotales</font> | Hoy: <font color=blue>$vishoy</font> | Online: <font color=green>$current_visitors</font>";
?>

Antes de guardar el archivo, por ejemplo con el nombre counter.php, y subirlo a tu servidor, debes especificar los datos de acceso a la base de datos. Puedes también cambiar la variable que controla el tiempo durante el que se cuentan los usuarios en línea. Esa variable es
$time2=$server_time-900;
En este caso se consideran los usuarios que han estado en el sitio en los últimos 15 minutos (900 segundos).

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

  Código:

#
# 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,
`vistotales` int(5) unsigned default NULL,
`vishoy` int(5) unsigned default NULL
) TYPE=MyISAM;

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

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


¿Cómo implementarlo?

 Sólo tendrás que incluir en cada página del sitio, en el lugar que consides oportuno, el siguiente código (cambiando /home/sitio/counter por la ruta adecuada):

  Código:

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

Si quieres conseguir el script y el archivo SQL para crear las tablas en la base de datos, puedes hacerlo descargando Contador.

Los resultados de la implementación serán similares a los que te mostramos en la imagen siguiente:

Contador de páginas vistas y visitantes

Artículos relacionados:
  Gestores de noticias
  Funcionamiento de phpMyAdmin
  Instalar y configurar phpMyAdmin
  Contador y usuarios online

 

Otras sugerencias

TubeZoid, descarga vídeos desde Internet

Es intrínseco al ser humano. Todos queremos ser propietarios. No nos importa, en algunas ocasiones, compartir nuestros objetos y experiencias, pero cuando vemos algo que nos gusta y tenemos la posibilidad de hacerlo nuestro sin hurtárselo a los demás, no lo dudamos y tratamos por todos los medios de conseguir ...


Cosas de niños

Son deshinbidos, sinceros, no tienen traumas. No piensan como hacemos los adultos porque aún no tienen la mente formada y son incapaces de abstraerse, por eso dicen las cosas tal como surgen. Su mundo es distinto del nuestro. Nos sorprenden con preguntas inverosímiles. Sus respuestas están llenas de esa sabiduría innata que sólo acompaña al hombre en su niñez ...

 

Slider

Seguro que en alguna ocasión has hecho, o intentado hacer, un puzzle, componer una imagen a partir de varios trozos de la misma. Con el nacimiento de los ordenadores los puzzles pasaron a formar parte de los programas de entretenimiento en estos dispositivos. Hay puzlles de todos los tipos y con diferentes niveles de dificultad. El que ahora os presentamos es ...


Penzu, tu diario

A todos nos ocurren cosas cada día, algunas muy importantes y otras menos. Tal vez eres de esos o de esas que escriben un diario, una relación de lo que te va pasando, de lo que vas viviendo día a día, de anécdotas, de alegrías y desengaños. Algunos, los más tradicionales, utilizan un cuaderno, una libreta o un paquete de folios para ir desgranado sus experiencias...

 

Televisión por Internet: enVIVOahora

‘Aquí encontrarás algo distinto a todo lo que has visto en Internet. Puedes transmitir imágenes en vivo a todo el mundo, de esta manera podrás convertirte en el reportero de grandes noticias o el papparazzi de asombrosos escándalos. No hay límites para ello. Puedes hacerlo desde tu casa o la calle, preparara algo o que te tome por sorpresa. Las posibilidades son infinitas...


eCalc, la mejor calculadora online

Windows, y lo mismo ocurre con todas las distribuciones de Linux, trae instalada por defecto una calculadora, eso sí, muy sencilla, con pocas prestaciones. Si sólo necesitas hacer las operaciones elementales, alguna que otra raíz cuadrada o calcular un tanto por ciento, las aplicaciones anteriores pueden valerte. Pero si eres estudiante de ESO o bachillerato, o ...