Foros del Web » Programando para Internet » PHP »

Contador de IP que no se repita

Estas en el tema de Contador de IP que no se repita en el foro de PHP en Foros del Web. Buenas tardes. http://www.foroprogramadores.es/site...read.php?p=189 Implemente este contador y funciona muy bien pero como hago para que no se aumente (o agrege la IP) cuando se repita ...

  #1 (permalink)  
Antiguo 08/01/2008, 17:10
Avatar de ceaped  
Fecha de Ingreso: febrero-2004
Mensajes: 2.185
Antigüedad: 20 años, 2 meses
Puntos: 9
Pregunta Contador de IP que no se repita

Buenas tardes.

http://www.foroprogramadores.es/site...read.php?p=189

Implemente este contador y funciona muy bien pero como hago para que no se aumente (o agrege la IP) cuando se repita la visita desde la misma IP?.

Gracias por su ayuda
__________________
Diseñador Gráfico publicitario
  #2 (permalink)  
Antiguo 08/01/2008, 18:42
Avatar de hgp147  
Fecha de Ingreso: diciembre-2006
Ubicación: Buenos Aires, Argentina
Mensajes: 980
Antigüedad: 17 años, 3 meses
Puntos: 36
Re: Contador de IP que no se repita

Hola ceaped, fijate este link: http://www.forosdelweb.com/f91/conta...2/#post2238020
  #3 (permalink)  
Antiguo 08/01/2008, 20:17
(Desactivado)
 
Fecha de Ingreso: diciembre-2006
Mensajes: 225
Antigüedad: 17 años, 4 meses
Puntos: 1
Re: Contador de IP que no se repita

bueno tal ves si le colocas un condicional q cuando la ip este hay no la sume y ya
pero seria mas bien en la tabla.

mi solucion seria

que crearas una tabla con ip + visitas + vistas + fecha

donde ip es la ip visitante
visitas es la visita sin repetirce
y vistas son las veces q entra en un dia desde esa ip

haa y agregale fecha para q solo se guarde una ip por dia por medio de la fecha podes gestionar eso
  #4 (permalink)  
Antiguo 09/01/2008, 07:24
Avatar de ceaped  
Fecha de Ingreso: febrero-2004
Mensajes: 2.185
Antigüedad: 20 años, 2 meses
Puntos: 9
Re: Contador de IP que no se repita

Gracias por su ayuda.
Pero como se haría sin BD?
Lo busco sin base de datos.
Gracias
__________________
Diseñador Gráfico publicitario
  #5 (permalink)  
Antiguo 09/01/2008, 11:19
Avatar de ceaped  
Fecha de Ingreso: febrero-2004
Mensajes: 2.185
Antigüedad: 20 años, 2 meses
Puntos: 9
Re: Contador de IP que no se repita

Hola.
Agregando un condicional asi:

if($ips==$ips){
$hips=0;
}
__________________
Diseñador Gráfico publicitario
  #6 (permalink)  
Antiguo 10/01/2008, 09:36
Avatar de ceaped  
Fecha de Ingreso: febrero-2004
Mensajes: 2.185
Antigüedad: 20 años, 2 meses
Puntos: 9
Re: Contador de IP que no se repita

Alguien que sepa?
__________________
Diseñador Gráfico publicitario
  #7 (permalink)  
Antiguo 10/01/2008, 09:59
 
Fecha de Ingreso: octubre-2006
Mensajes: 173
Antigüedad: 17 años, 6 meses
Puntos: 3
Re: Contador de IP que no se repita

Hola prueba así te tiene que funcionar

Código PHP:
<?php
//$ip = apache_getenv("SERVER_ADDR");
$ip = ($_SERVER['REMOTE_ADDR']);
$fp file_get_contents("ip.txt","r");  
$exp explode(';'$fp, -1);
if (
preg_match("/$ip/i""$fp")) {
////////////
}else{
$fh fopen("ip.txt"'a');
fwrite($fh"$ip    "); 
fclose($fh);
}
echo 
$ip;
?>
__________________
¨
  #8 (permalink)  
Antiguo 10/01/2008, 14:59
Avatar de ceaped  
Fecha de Ingreso: febrero-2004
Mensajes: 2.185
Antigüedad: 20 años, 2 meses
Puntos: 9
Re: Contador de IP que no se repita

Excelente toforo.
Gracias por tu ayuda
__________________
Diseñador Gráfico publicitario
  #9 (permalink)  
Antiguo 10/01/2008, 15:34
Avatar de ceaped  
Fecha de Ingreso: febrero-2004
Mensajes: 2.185
Antigüedad: 20 años, 2 meses
Puntos: 9
Re: Contador de IP que no se repita

Ok pero lo que busco es que no se imprima la IP.
Yo deseo que si desde una IP hacen varias visitas sólo se guarde una vez y que se imprima un número. Número de visitante #...
Pero que sólo se imprima una vez por cada IP

Gracias
__________________
Diseñador Gráfico publicitario
  #10 (permalink)  
Antiguo 12/01/2008, 07:19
Avatar de ceaped  
Fecha de Ingreso: febrero-2004
Mensajes: 2.185
Antigüedad: 20 años, 2 meses
Puntos: 9
Re: Contador de IP que no se repita

mmm alguna idea?
__________________
Diseñador Gráfico publicitario
  #11 (permalink)  
Antiguo 15/01/2008, 10:58
Avatar de ceaped  
Fecha de Ingreso: febrero-2004
Mensajes: 2.185
Antigüedad: 20 años, 2 meses
Puntos: 9
Re: Contador de IP que no se repita

Hola de nuevo.
El contador que yo busco es una combinación de ambos. Osea que se guarde la IP en un .txt y que el la Página aparezca un Número indicando la cantidad de visitantes pero que si desde esa IP ya han ingresado no se repita el incremento en el .txt ni se imprima.
Gracias por su ayuda
__________________
Diseñador Gráfico publicitario
  #12 (permalink)  
Antiguo 15/01/2008, 13:38
Avatar de hgp147  
Fecha de Ingreso: diciembre-2006
Ubicación: Buenos Aires, Argentina
Mensajes: 980
Antigüedad: 17 años, 3 meses
Puntos: 36
Re: Contador de IP que no se repita

Hola ceaped:

Código PHP:
<?

$ip 
$_SERVER["REMOTE_ADDR"];


if(
is_file('./visitas/'  $ip '.txt')){

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

}else{

// Creo archivo para guardar la ip

$archivo fopen('./visitas/'  $ip '.txt' "w");

if (
$archivo) {

fputs ($archivo"");

}

fclose ($archivo);

}

// Muestro cantidad de visitas:

$directorio3 opendir("./visitas");

$num3=0;
 
while (
readdir($directorio3)) {

$num3++;

}


echo 
'Visitas: ' $num3-'';

closedir

?>
  #13 (permalink)  
Antiguo 15/01/2008, 14:07
Avatar de ceaped  
Fecha de Ingreso: febrero-2004
Mensajes: 2.185
Antigüedad: 20 años, 2 meses
Puntos: 9
Re: Contador de IP que no se repita

Hola hgp147.
Me imprime el valor de -2 y no me almacena en el .txt
__________________
Diseñador Gráfico publicitario
  #14 (permalink)  
Antiguo 15/01/2008, 14:21
Avatar de hgp147  
Fecha de Ingreso: diciembre-2006
Ubicación: Buenos Aires, Argentina
Mensajes: 980
Antigüedad: 17 años, 3 meses
Puntos: 36
Re: Contador de IP que no se repita

Corrección de código:

Código PHP:
<?

$ip 
$_SERVER["REMOTE_ADDR"];


if(
is_file('./visitas/'  $ip '.txt')){

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

}else{

// Creo archivo para guardar la ip

$archivo fopen('./visitas/'  $ip '.txt' "w");

if (
$archivo) {

fputs ($archivo"");

}

fclose ($archivo);

}

// Muestro cantidad de visitas:

$directorio3 opendir("./visitas");

$num3=0;
 
while (
readdir($directorio3)) {

$num3++;

}

$visitas $num3-2;

echo 
"Visitas: $visitas";

closedir

?>
  #15 (permalink)  
Antiguo 16/01/2008, 06:06
Avatar de ceaped  
Fecha de Ingreso: febrero-2004
Mensajes: 2.185
Antigüedad: 20 años, 2 meses
Puntos: 9
Re: Contador de IP que no se repita

mmm disculpa sigue son funcionar
__________________
Diseñador Gráfico publicitario
  #16 (permalink)  
Antiguo 16/01/2008, 09:09
Avatar de hgp147  
Fecha de Ingreso: diciembre-2006
Ubicación: Buenos Aires, Argentina
Mensajes: 980
Antigüedad: 17 años, 3 meses
Puntos: 36
Re: Contador de IP que no se repita

Cita:
Iniciado por ceaped Ver Mensaje
mmm disculpa sigue son funcionar
El directorio visitas debe tener permisos CHMOD 0777. Fijate si así te funciona.

El contador de visitas solo cuenta cuantas las ips distintas que visitaron la página desde que lo pusiste en funcionamiento al contador. Si queres que cuenta las ips distintas que visitaron la página en un determinado periodo ( 1 día, 1 mes, 1 año...) habría que modificar el código, decime y te lo modifico.
  #17 (permalink)  
Antiguo 16/01/2008, 12:49
Avatar de ceaped  
Fecha de Ingreso: febrero-2004
Mensajes: 2.185
Antigüedad: 20 años, 2 meses
Puntos: 9
Re: Contador de IP que no se repita

Hola hgp147.
Gracias por tu paciente ayuda.
Como y en donde verifico esto? "CHMOD 0777".

Yo busco un contador de IP y que estas se almacenen en un "ip.txt"
Y que se imprima en la Página Web visitante No.1 y así sucesivamente pero que si dese esa IP ya han ingresado ni se imprima ni se guarde su IP.

Nuevamente gracias por tu paciente ayuda
__________________
Diseñador Gráfico publicitario
  #18 (permalink)  
Antiguo 16/01/2008, 13:56
Avatar de hgp147  
Fecha de Ingreso: diciembre-2006
Ubicación: Buenos Aires, Argentina
Mensajes: 980
Antigüedad: 17 años, 3 meses
Puntos: 36
Re: Contador de IP que no se repita

Ya esta, le agregue un contador al código de toforo.

Código PHP:
<?php

$ip 
$_SERVER['REMOTE_ADDR'];

$fp file_get_contents("ip.txt","r");
 
$exp explode(';'$fp, -1);

$total count($exp);

if (
preg_match("/$ip/i""$fp")) {

$visitante $total;

}else{

$fh fopen("ip.txt"'a');

fwrite($fh"$ip;");
 
fclose($fh);

$visitante $total+1;

}

echo 
"Visitante nº: $visitante";

?>
  #19 (permalink)  
Antiguo 17/01/2008, 06:03
Avatar de ceaped  
Fecha de Ingreso: febrero-2004
Mensajes: 2.185
Antigüedad: 20 años, 2 meses
Puntos: 9
Re: Contador de IP que no se repita

mmm nada que funciona el contador.
Ni imprime el número de visitantes ni guarda en el .ip.txt la IP.

Mira este código de un cantador que hace lo que yo busco (lo puse en el primer POST) pero lo malo es que cada vez que entran desde la misma IP vuelve y se guarda y se imprime el número de visitantes cada vez que entra. Yo sólo deseo que lo haga una vez osea que se imprima una vez por IP y que se guarde sólo una vez la IP:
Cita:
<?
$file = 'ip.txt';
$abrir = fopen($file,'a');
$contenido = fread($abrir,filesize($file));
$contenido = $contenido.$_SERVER['REMOTE_ADDR'].' , ';
$write = fputs($abrir,$contenido);
fclose($abrir);

$archivo = 'ip.txt';
$open = fopen($archivo,'r');
$contenido = fread($open,filesize($archivo));
$ips = explode (' , ',$contenido);
$hips = count($ips);
echo $hips.' Visitas';
?>
__________________
Diseñador Gráfico publicitario
  #20 (permalink)  
Antiguo 17/01/2008, 08:49
Avatar de hgp147  
Fecha de Ingreso: diciembre-2006
Ubicación: Buenos Aires, Argentina
Mensajes: 980
Antigüedad: 17 años, 3 meses
Puntos: 36
Re: Contador de IP que no se repita

Cita:
Iniciado por ceaped Ver Mensaje
Ni imprime el número de visitantes ni guarda en el .ip.txt la IP.
Proba poniendo error_reporting(E_ALL); para saber si te da un error.

El código quedaría:

Código PHP:
<? error_reporting(E_ALL);

$ip $_SERVER['REMOTE_ADDR'];

$fp file_get_contents("ip.txt","r");
 
$exp explode(';'$fp, -1);

$total count($exp);

if (
preg_match("/$ip/i""$fp")) {

$visitante $total;

}else{

$fh fopen("ip.txt"'a');

fwrite($fh"$ip;");
 
fclose($fh);

$visitante $total+1;

}

echo 
"Visitante nº: $visitante";
echo 
"<BR>Tu ip: $ip";
echo 
"<BR><a href=ip.txt>Ver ips</a>";
echo 
"<BR>PHP versión: " phpversion() . ""

?>
Además crea el archivo ip.txt, sin ningún contenido.

En este link http://hgp147.110mb.com/ip.php podés ver el resultado del código anterior,
  #21 (permalink)  
Antiguo 17/01/2008, 09:04
Avatar de ceaped  
Fecha de Ingreso: febrero-2004
Mensajes: 2.185
Antigüedad: 20 años, 2 meses
Puntos: 9
Re: Contador de IP que no se repita

Siiiiiiiiiii "hgp147" eso es lo que buscaba.
Solo me resta decirte que GRACIAS por tu tiempo y paciencia.
El ayudar a otros es un don y una virtud que pocos tiene y TU la tienes.
Mucha suerte
__________________
Diseñador Gráfico publicitario
  #22 (permalink)  
Antiguo 18/01/2008, 06:26
Avatar de ceaped  
Fecha de Ingreso: febrero-2004
Mensajes: 2.185
Antigüedad: 20 años, 2 meses
Puntos: 9
Re: Contador de IP que no se repita

Hola "hgp147" yo le agregue esto, no se si es correcto
Cita:
$fecha = date("Y-m-d");
Y luego

Cita:
fwrite($fh, "Fecha: $fecha / IP: $ip , ");
Lo extraño es que hoy veo más visitantes (se imprimieron más visitas en la página) pero no se guardaron las IP.
No se si tiene algo que ver eso que le puse.

Gracias por tu ayuda
__________________
Diseñador Gráfico publicitario
  #23 (permalink)  
Antiguo 18/01/2008, 14:46
Avatar de hgp147  
Fecha de Ingreso: diciembre-2006
Ubicación: Buenos Aires, Argentina
Mensajes: 980
Antigüedad: 17 años, 3 meses
Puntos: 36
Re: Contador de IP que no se repita

Hola ceaped, estaba bien lo que habías puesto pero te faltaba modificar el preg_match. Abajo está el código completo. Lo que hace es contar las ips únicas por día.


Código PHP:
<? error_reporting(E_ALL);

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

$ip $_SERVER['REMOTE_ADDR'];

$fp file_get_contents("ip.txt","r");
 
$exp explode(';'$fp, -1);

$total count($exp);

if (
preg_match("/$fecha $ip/i""$fp")) {

$visitante $total;

}else{

$fh fopen("ip.txt"'a');

fwrite($fh"$fecha $ip;");

fclose($fh);

$visitante $total+1;

}

echo 
"Visitante nº: $visitante";
echo 
"<BR>Tu ip: $ip";
echo 
"<BR><a href=ip.txt>Ver ips</a>";
echo 
"<BR>PHP versión: " phpversion() . ""

?>
  #24 (permalink)  
Antiguo 18/01/2008, 15:01
Avatar de ceaped  
Fecha de Ingreso: febrero-2004
Mensajes: 2.185
Antigüedad: 20 años, 2 meses
Puntos: 9
Re: Contador de IP que no se repita

Ok hgp147.

El contador imprime las visitas por día y no la repite si es desde la misma IP?.
Pero si al día siguiente vuelvo a entrar desde la misma IP vuelve y la suma? y también la guarda?, o sólo la guarda una vez y la imprime una vez así sea una semana despues

Mucha suerte y gracias
__________________
Diseñador Gráfico publicitario
  #25 (permalink)  
Antiguo 18/01/2008, 16:14
Avatar de hgp147  
Fecha de Ingreso: diciembre-2006
Ubicación: Buenos Aires, Argentina
Mensajes: 980
Antigüedad: 17 años, 3 meses
Puntos: 36
Re: Contador de IP que no se repita

Hola, te lo explico con un ejemplo:

Si el día 20 entras a la web se te contará una visita, y las demás visitas que hagas ese mismo día no se contarán, si al día siguiente entrás se te contará otra visita. Es decir solo se contará una visita por día por cada ip distinta que ingrese a la web.
Siguiendo con el ejemplo, en el día 20 aparecerá: 1 VISITA, y el día 21 habrán 2 VISITAS (1 visita del día anterior más 1 visita de ese día).

ADEMÁS DE CAMBIAR EL CÓDIGO POR EL QUE PUSE EN EL POST #23, TAMBIÉN TENÉS QUE ELIMINAR TODO LO QUE TENGA EL ARCHIVO ip.txt, ES DECIR QUE DEBÉS DEJARLO VACIO.
  #26 (permalink)  
Antiguo 19/01/2008, 07:05
Avatar de ceaped  
Fecha de Ingreso: febrero-2004
Mensajes: 2.185
Antigüedad: 20 años, 2 meses
Puntos: 9
Re: Contador de IP que no se repita

Ok hgp147.
Si no es mucho pedir...jejeje se puede hacer que sólo imprima y guarde la IP sea cual sea el día? Osea que loa cuente por día aino que si yo entro hoy desde mi IP la guarde he imprima "visitante No. 1...etc" y si entro mañana o cualquier día desde la misma IP no imprima la visita.

Gracias por tu paciente ayuda
__________________
Diseñador Gráfico publicitario
  #27 (permalink)  
Antiguo 19/01/2008, 12:54
Avatar de hgp147  
Fecha de Ingreso: diciembre-2006
Ubicación: Buenos Aires, Argentina
Mensajes: 980
Antigüedad: 17 años, 3 meses
Puntos: 36
Re: Contador de IP que no se repita

Hola ceaped, no entendí muy bien lo que explicaste. Fijate si el código de abajo es lo que querías: lo que hace es mostrar las visitas que se producen ese mismo día, y solo se cuenta una visita por ip. Al día siguiente no se acumularan las visitas del día anterior, sino que el contador comenzará de 0.

Código PHP:
<?

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

$ip $_SERVER['REMOTE_ADDR'];





if(
file_exists("ip-$fecha.txt")){

$fp file_get_contents("ip-$fecha.txt","r");
 
$exp explode(';'$fp, -1);

$total count($exp);


if (
preg_match("/$ip/i""$fp")) {

$visitante $total;

}else{

$fh fopen("ip-$fecha.txt"'a');

fwrite($fh"$ip;");

fclose($fh);

$visitante $total+1;

}


}else{

$archivo fopen("ip-$fecha.txt" "w");

fputs ($archivo"$ip;");

fclose ($archivo);

$visitante 1;

}


echo 
"Visitante nº: $visitante";
echo 
"<BR>Tu ip: $ip";
echo 
"<BR><a href=ip-$fecha.txt>Ver ips</a>";

?>

Última edición por hgp147; 19/01/2008 a las 13:01
  #28 (permalink)  
Antiguo 19/01/2008, 14:11
Avatar de ceaped  
Fecha de Ingreso: febrero-2004
Mensajes: 2.185
Antigüedad: 20 años, 2 meses
Puntos: 9
Re: Contador de IP que no se repita

Hola hgp147 Gracias voy a probarlo.
No pues simplemente te decia que el contador si tu lo visitas hoy y luego mañana sólo imprima 1 visita y que deje el contador con las visitas que ha tenido no que me borre las visitas sino que se vayan acumulando pero sólo 1 por IP. Eso era.
Gracias por toda tu ayuda
__________________
Diseñador Gráfico publicitario
  #29 (permalink)  
Antiguo 19/01/2008, 15:01
Avatar de hgp147  
Fecha de Ingreso: diciembre-2006
Ubicación: Buenos Aires, Argentina
Mensajes: 980
Antigüedad: 17 años, 3 meses
Puntos: 36
Re: Contador de IP que no se repita

Entonces el código que querés vos es el del post #20, pero no entiendo para que querias poner la fecha (Post #22)
  #30 (permalink)  
Antiguo 19/01/2008, 15:34
Avatar de ceaped  
Fecha de Ingreso: febrero-2004
Mensajes: 2.185
Antigüedad: 20 años, 2 meses
Puntos: 9
Re: Contador de IP que no se repita

jejeje a ver hgp147.
Yo que deseo?. Un contador de "visitas" con estas características:
1. Que me muestra en la Página Web cuantas visitas recibo pero que si me visita la misma persona sea cual sea el día que no se aumente el contador. Esto por un lado.

2. Que me guarde las IP de las personas que me visitan pero que sólo se guarde una vez que no se repita en el ip.txt, sea cual sea el día que entren.

3. Para que deseo que se guarde la fecha junto con la IP?, pues vara llevar como unas estadísticas de que día han visitado las personas la Web.

Conclusión: que en la Página Web porejemplo aparezca así...Visitante No.1
Y en el ip.txt se guarde la IP asi...Fechas: 2008/05/12, IP: 200.90.65

Mucha suerte y gracias
__________________
Diseñador Gráfico publicitario
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:29.