Que tal amigos de Mix informatico Aqui les traigo un contador el cual su funcion es:
En una tabla de nuestra BD se guardan, La fecha y Hora de la visita y la direccion IP de la Maquina. Cada vez que se accede en la pagina el Script se activa y busca en la BD, si encuentra la misma IP en un ragdo de tiempo dado, pasa por alto la visita, pero si la IP no se encuentra o supera dicho rango de tiempo (1minuto, 1 hora, 1 dia, etc.) depende del programador, almacena los datos.
Por ultimo, corremos una linea que selecciona TODO el contenido de la tabla y nos muestra cuantos registros hay, que seria lo mismo que el numero real de visitas de la pagina web.
En otras palabras, si entramos en la Web marcamos una visita, pero si damos Actualizar (F5), cerramos y volvemos a cargar, no acumularemos mas visitas…
contador.sql
1 2 3 4 5 6 7 8 9 10 | CREATE TABLE `contador` ( `id` int(11) NOT NULL auto_increment, `ip` varchar(15) default NULL, `hora` varchar(8) default NULL, `fecha` varchar(20) default NULL, `horau` varchar(10) default NULL, `diau` char(3) default NULL, `aniou` varchar(4) default NULL, KEY `id` (`id`) ) TYPE=MyISAM AUTO_INCREMENT=1; |
config.php
1 2 3 4 5 6 7 8 | <?php $bd_host = "Nombre del servidor de BD"; $bd_usuario = "Nombre de usuario de BD"; $bd_password = "Password de BD"; $bd_base = "Nombre de BD"; $con = mysql_connect($bd_host, $bd_usuario, $bd_password); mysql_select_db($bd_base, $con); ?> |
contadordeuser.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | <?php require('config.php'); //se requiere el archivo para validar los datos de usuario de bdd para conectar $ip = $REMOTE_ADDR; $fecha = date("j \d\e\l n \d\e Y"); $hora = date("h:i:s"); $horau = date("h"); $diau = date("z"); $aniou = date("Y"); //se asignan la variables $sql = "SELECT aniou, diau, horau, ip "; $sql.= "FROM contador WHERE aniou LIKE '$aniou' AND diau LIKE '$diau' AND horau LIKE '$horau' AND ip LIKE '$ip' "; $es = mysql_query($sql, $con) or die("Error al leer base de datos: ".mysql_error); //se buscan los registros que coincidan con la hora,dia,año e ip if(mysql_num_rows($es)>0) {//no se cuenta la visita } else { $sql = "INSERT INTO contador (id, ip, fecha, hora, horau, diau, aniou) "; $sql.= "VALUES ('','$ip','$fecha','$hora','$horau','$diau','$aniou')"; $es = mysql_query($sql, $con) or die("Error al grabar un mensaje: ".mysql_error); } //creamos el condicionamiendo para logearlo o no. $sql = "SELECT * "; $sql.= "FROM contador WHERE id "; $es = mysql_query($sql, $con) or die("Error al leer base de datos: ".mysql_error); $visitas = mysql_num_rows($es); $men=$men . "<table width='9%' border='1' height='25' bgcolor='#333333'>" . chr(10); $men=$men . "<tr>" . chr(10); $men=$men . "<td><font color=#FFFFFF>Visitas:$visitas</font></td>" . chr(10); $men=$men . "</tr>" . chr(10); $men=$men . "</table>" . chr(10); ?> |
index.php
1 2 3 4 | <?php require('contadordeuser.php'); echo $men; ?> |






Escribe un comentario
You must be logged in to post a comment.