Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/07/2007, 21:07
CeRo_ByTe
 
Fecha de Ingreso: enero-2007
Mensajes: 158
Antigüedad: 17 años, 3 meses
Puntos: 2
Pregunta Contador visitas

Hola a todos.

He conseguido por internet un código php que cuenta el número de veces desde la url donde te visitan:

Código PHP:
<?php
//Incluyo el archivo de conexión a la base de datos
include_once("conectar_db.php");

$desde=$_SERVER['HTTP_REFERER'];

//Aqui dejamos solo http://www.pagina.com y kitamos todo lo demas
$patron '/^http:\/\/[a-z0-9.-]*\//';
preg_match($patron$desde$a);
$a=substr($a[0],0,-1);
//Aqui kitamos todo el http://www y dejamos ej: pagina.com
$sin_www=preg_replace("/^http:\/\/|[w]{3}\./","",$a);

//Aqui kitamos el www. de la url
$sin=preg_replace("/[w]{3}\./","",$a);

$url_nuestra=preg_replace("/[w]{3}\./","",$_SERVER['SERVER_NAME']);

//Aqui verificamos que la url no es la nuestra y que no este vacio.
if( !strpos($a,$url_nuestra) && $a != "" )
{

//hacemos un query y buscamos todas las url que contengan la parte de pagina.com
$query=mysql_query("SELECT url_direccion,url_id FROM contador_url WHERE url_direccion LIKE '%".$sin_www."%'",$conexion_db);
while(
$urles=mysql_fetch_array($query))
{
/*Aqui le kitamos el www. a la url k esta en la base de datos.
esto lo hago porque si alguien entra desde Ej: http://tupagina.com y en la base de datos esta como
http://www.tupagina.com, el script lo tomara como una url nueva cuando no lo es ,aunque los subdominios
los tomara como una URL nueva.*/
$limpiar=preg_replace("/[w]{3}\./","",$urles['url_direccion']);

//Aqui hacemos las comparaciones para ver si existe esta url en la BD.
if( $urles['url_direccion'] == $a || $limpiar == $a || $urles['url_direccion'] == $sin){
//Si existe la URL , entonces agarramos el ID de esa URL y salimos del bucle while.
$id_url=$urles['url_id'];
break;
}
}

if(!
$id_url)
{

mysql_query("INSERT INTO contador_url (url_direccion,url_contador) VALUES('$a','1')",$conexion_db);

else
mysql_query("UPDATE contador_url SET url_contador=url_contador+1 WHERE url_id='".$id_url."' ",$conexion_db);

}

?>
Pero este script añade a la base de datos todas las URL que me visitan a mi página web.

¿Alguien me podría decir las modificaciones que debería hacer para que solo cuente las visitas que recibo solo de las páginas web que yo ponga en la base de datos?

Gracias de antemano.