Ver Mensaje Individual
  #4 (permalink)  
Antiguo 05/01/2008, 15:42
Avatar de hgp147
hgp147
 
Fecha de Ingreso: diciembre-2006
Ubicación: Buenos Aires, Argentina
Mensajes: 980
Antigüedad: 17 años, 4 meses
Puntos: 36
Re: Contador de visitas que muestre top x en páginas que yo quiera.

Hola, lo encontre:

ES UN CONTADOR DE VISITAS UNICAS. SOLO SE CONTARÁ UNA VISITA POR DÍA, TENIENDO EN CUENTA LA IP.

Son 3 archivos:

conexion.php --> Conecta con la base de datos (Recorda cambiar el usuario, el pass y la db por los tuyos)

Código PHP:
<?

function conectar()
{

//Conexion con la base
mysql_connect ("localhost""usuario""pass");

//selección de la base de datos con la que vamos a trabajar 
mysql_select_db("db");

}

function 
desconectar()
{
    
mysql_close();
}

?>

Pone el código de a continuación en las páginas en las que quieras contar las visitas:

Código PHP:
<?

$partes_ruta 
pathinfo($_SERVER["PHP_SELF"]);

$pagina $partes_ruta['filename'];

$ip $_SERVER["REMOTE_ADDR"];

$fecha date("Y-m-d");






if(
is_file("./" $pagina "_visitas/" $fecha "_" $ip ".txt")){

// No agrego ninguna visita, ya que el usuario ya ingreso antes.

}else{

// Creo archivo para guardar la ip con la fecha de ese día

$archivo fopen("./" $pagina "_visitas/" $fecha "_" $ip ".txt" "w");

if (
$archivo) {

fputs ($archivo"");

}

fclose ($archivo);


// Actualizo la base de datos, agregando una visita mas


include("conexion.php");

conectar();

$result mysql_query("SELECT * FROM tabla_visitas WHERE pagina='$pagina'");

$row mysql_fetch_array($result);

$visitas $row["visitas"];

$visitas1 $visitas+1;



mysql_query("UPDATE tabla_visitas SET

visitas = '$visitas1'

WHERE pagina='$pagina'"
);

desconectar();


}


?>


Pone este otro código de abajo donde quieras que se muestre el "top 10"

Código PHP:
<?

include("conexion.php");

conectar();

$result mysql_query("SELECT pagina, visitas FROM tabla_visitas ORDER BY visitas desc LIMIT 10");

desconectar();

while (
$fila mysql_fetch_object($result)){

echo 
"-" $fila->pagina ": " $fila->visitas "<BR>"

}

?>

IMPORTANTE: Para que funcione necesitas tener una carpeta que tenga el nombre
del archivo sin extension más "_visitas" (Ejemplo: si tenes el archivo "juegos.htm", tenes que crear dentro del mismo directorio donde está el archivo una carpeta "juegos_visitas". Esta carpeta debe tener permisos CHMOD 0777.
Tambien debes crear la base de datos-->

CREATE TABLE `tabla_visitas` (
`pagina` varchar(30) NOT NULL,
`visitas` integer(6) NOT NULL default '0',
PRIMARY KEY (`pagina`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;


Y completarla la columna de `pagina` con los nombres de tus archivos sin extensión.


Si te quedan dudas, no dudes en preguntar.

Última edición por hgp147; 06/01/2008 a las 16:18 Razón: Corección de código