Inicio | Registro | Foros | Ayuda | Contacto
Zips del Conocimiento
  Contenido
Cursos y manuales
Directorio de Cursos, Manuales y Tutoriales
Libros digitales gratis
Capsulas del Saber
Tests Online
Archivo de Zips
Envío de Zips
Servicios

  Populares
- Humor está en la testosterona
- Importancia de un sitio seguro
- Cómo usar el comando NetStat
- Cinco pasos esenciales para el liderazgo
- Cigarros light, tan malos como normales
- El método de ruta crítica
- Qué es un proyector
- Intolerancia religiosa
- Ascensor espacial cada vez más posible
- Problemas cardíacos suelen desencadenar depresión
- El colapso de la especie humana
- Descomprimir con winrar
- Estructurar un proyecto correctamente
- Quieres aprender un idioma
- Cómo convertirse en un motivador


 :: Tutorial podemos gestionar el seguimiento de visitantes

Descripción

En este tutorial analizaremos con un ejemplo práctico como podemos gestionar el seguimiento de visitantes en nuestro sitio web.
A la hora de poner en la red nuestro sitio web uno de los puntos más importantes a verificar es el referente al control del tráfico de visitas que el público hace de nuestra web.

La idea será rastrear ciertos datos del visitante guardándolos en una base de datos y luego hacer un seguimiento sobre que paginas visitó. Con esto luego podemos crear listados (logs) y extraer y analizar información relevante.

Este sistema se basa en sesiones por lo que podemos comprobar que las visitas son únicas y además el seguimiento comienza con el ingreso de la visita y termina cuando el usuario finaliza su sesión.

En nuestro caso crearemos una tabla que guardará:

- Id de la visita
- Fecha y Hora
- Idioma del sistema del visitante
- Navegador y versión del mismo
- La IP del visitante
- Página por donde ingreso el visitante a nuestro sitio

y otra tabla donde se registrará las distintas página que el visitante accede durante la sesión que guardará.

- Id de la visita
- Fecha y Hora
- Página visitada

Para ello usaremos estos diagrama de tabla (Podemos correrlo en el PHPMyAdmin):

Código:
CREATE TABLE `tracking` (
  `id` int(10) unsigned NOT NULL auto_increment,
  `f_in` datetime NOT NULL default '0000-00-00 00:00:00',
  `lang` char(10) default NULL,
  `browser` char(200) default NULL,
  `host` char(60) default NULL,
  `referer` char(250) default NULL,
  `pag` char(100) default NULL,
  PRIMARY KEY  (`id`),
  KEY `id` (`id`)
)
 

CREATE TABLE `seguimiento` (
  `id` int(10) unsigned NOT NULL auto_increment,
  `f_in` datetime NOT NULL default '0000-00-00 00:00:00',
  `id_tracking` char(10) default NULL,
  `pag` char(100) default NULL,
  PRIMARY KEY  (`id`),
  KEY `id` (`id`)
)

El corazón del script se centrará en una función que recoge esos datos y los inserta en la base de datos. Empecemos a codificar entonces esa función detallando a paso los procedimientos (archivo funcion.php).

Primeramente definiremos los datos de conexión que usaremos. En caso que llevemos a cabo el ejemplo será importante modificar y colocar los valores correspondientes para cada caso. Definiremos entonces el servidor mysql local, un usuario y contraseña así como el nombre de la base de datos. Por ejemplo:

$host = "localhost";
$user = "root";
$pass = "";
$db = "tracking";

Luego estableceremos la conexión y la selección de la base de datos realizando la conocida verificación de errores que nos permite MySql.

Código:
$conn= mysql_connect($host, $user, $pass) or die('Imposible conectar DB');
mysql_select_db($db, $conn) or die('Imposible seleccionar DB');
Una vez hecho esto pasaremos si a las funciones. La primer función tomará como argumento la pagina actual pasada como único parámetro:

Código:
function FTracking($fTrkPag){
Una vez hecho eso iniciaremos con valor nulo las cinco variables los datos que vamos a insertar en la base de datos. Estos son:

Pagina referida ($fReferer) : Es decir la pagina desde la cual se accedió al sitio.
Lenguaje ($fLang) : Es decir el lenguaje configurado en la pc que esta usando el visitante.
Navegador ($fBrowser)
Hosting ($fHost): El IP del usuario.
Fecha ($fFechaIng): Esto lo tomaremos con la función date y marcara la fecha y hora del ingreso en la tabla de datos.

Código:
$fReferer = NULL;
$fLang = NULL;
$fBrowser = NULL;
$fHost = NULL;
$fFechaIng = date('Y-m-d H:i:s');
Luego iremos verificando las distintas variables de servidor. En esto es bueno aclarar que eventualmente algunas de estas pueden no funcionar en nuestra prueba. Por ejemplo, usualmente esto ocurre con $_SERVER['HTTP_REFERER']. El problema radica en la acción de bloqueo y filtrado de firewalls o eventuales otras causas, generalmente de bloqueo por seguridad o que el visitante haya accedido a nuestro sitio tipeando la URL directamente en la barra de su navegador.

Una vez hecha esta salvedad pasamos al grupo de condicionales. En estos casos la traducción seria simple. Si la variable de servidor no esta seteada o bien creada, cargamos dentro de la variable correspondiente el valor de la misma.

Código:
if (isset($_SERVER['HTTP_REFERER'])){
     $fReferer = ($_SERVER['HTTP_REFERER']);
   }
   if (isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])){
      $fLang = $_SERVER['HTTP_ACCEPT_LANGUAGE'];
   }
   if (isset($_SERVER['HTTP_USER_AGENT'])){
      $fBrowser = $_SERVER['HTTP_USER_AGENT'];
   }
   if (isset($_SERVER['REMOTE_ADDR'])){
      $fHost = $_SERVER['REMOTE_ADDR'];
   }
En la instrucción siguiente realizamos la inserción mediante la sentencia sql INSERT de los valores recolectados. Como sabrán esta sentencia toma la forma de:

INSERT Nombre de tabla (nombres de los campos separados por comas) VALUES (nombres de variables separadas por comas).

En este ultimo segmento es aconsejable prestarle debida atención al grupo de comillas simples , dobles , comas y puntos de concatenación.
En nuestro ejemplo sería:

Código:
$SQLFTracking = "INSERT tracking (f_in, trk_lang, browser, host, referer, pag) VALUES ('".$fFechaIng."', '".$fLang."', '".$fBrowser."', '".$fHost."', '".$fReferer."', '".$fTrkPag."')";
Consecuentemente realizamos luego la inserción de los datos con mysql_query($SQLFTracking) y la respectiva verificación de errores.

Código:
$rsFTracking = mysql_query($SQLFTracking) or die('Imposible insertar en la DB Tracking');
Como buena función que es, nos deberá retornar un valor que recolectaremos gracias a la función mysql mysql_insert_id(), la cual toma el id del ultimo registro insertado.

Código:
return mysql_insert_id();
Con esto estará terminada la primer función, cerraremos las llaves principales y agregaremos la segunda función que es similar a la anterior sólo que al ser llamada agrega un registro que sólo guardará la fecha y hora y el nombre de la página a la que accede el visitante. Esta segunda función se llamará FSeguimiento($fSegPag, $fTrack) y se le pasará por parámetro la página donde accedió el visitante y el ID del tracking generado al ingresar el visitante a nuestro sitio.

Una vez terminado esto guardaremos este archivo con las dos funciones bajo el nombre funcion.php.

Luego crearemos dos páginas muy simples para poder testear que nuestro sistema funcione correctamente. Se llamaran pagina_ejemplo_1.php y pagina_ejemplo_2.php respectivamente.

El secreto de este sistema se halla en cada página de nuestro sitio a la que deseemos incorporar este sistema de tracking, es decir, si queremos que las páginas de nuestro sitio sean trakeadas debemos incorporarle el siguiente código:

Código:
<?PHP
session_start();
require_once('funcion.php');

$PagActual = $SCRIPT_FILENAME ;

if ((isset($HTTP_SESSION_VARS['$IDTracking'])) && (!empty($HTTP_SESSION_VARS['$IDTracking'])) && ($HTTP_SESSION_VARS['$IDTracking'] != 0)){
    FSeguimiento($PagActual, $HTTP_SESSION_VARS['$IDTracking']);
}

if (!isset($HTTP_SESSION_VARS['$IDTracking'])){
    $HTTP_SESSION_VARS['$IDTracking'] = FTracking($PagActual);
}
?>
En este código los pasos son simples:

Iniciamos sesión session_start();

Cargamos el script con las funciones antes realizada require_once('funcion.php');

Inicializamos la variable de página actual $PagActual = $_SERVER['SCRIPT_FILENAME’] ;

Luego verificaremos si hay un variable de sesión creada. Si eso es verdadero significa que el visitante ya inicio una sesión en nuestro sitio y que no es la primer pagina que visita del mismo, por lo tanto llamamos a la función que realiza el seguimiento.

En cambio si esto es falso, pasamos al siguiente punto donde, por ser el ingreso del visitante al sitio, se llamara a la función que genera una nueva sesión para ese visitante y de aquí en más se le realizará al visitante el seguimiento por cuanta página visite hasta que él mismo finalice la sesión.

Se incluye además en los fuentes, una página consulta.php donde podremos ver el resultado de nuestro test.

Por último, es recomendable que podamos cerciorarnos en nuestra base de datos que el sistema este ingresando correctamente los valores.

Fuente: Seminarios Dattatec.com


 
  Opciones
Zips GRATIS en tu email:

  Agregar a favoritos
 Versión Imprimible Versión Imprimible
 Enviar a un Amigo Enviar a un Amigo

Compartir:

delicious
  yahoo meneame

Zips Populares
- Stellarium, el simulador del cielo
- Kaizen Generalidades
- El libro de la lectura rápida
- Masaje facilita recuperación tras el ejercicio
- Como evaluar las capacidades lectoras
- Cómo hacer un soporte de techo para proyector
- ¿ Qué es el civismo ?







Si buscas algún curso manual guía recurso definición libro ó ebook gratis este es tu lugar.
Sindicar contenidos
Educación no formal - Diario Tecnológico - Cursos Gratis - ConocimientosWeb
Todos los logos y nombres mencionados de marcas que se publican en este sitio son de sus respectivos dueños.
Condiciones de Uso