Foros del Web » Programando para Internet » PHP »

Comparar datos de un archivo txt (IP del visitante)

Estas en el tema de Comparar datos de un archivo txt (IP del visitante) en el foro de PHP en Foros del Web. Hola a todos, utilizando php, consigo guardar la IP del visitante en un archivo .txt El código es este: Código PHP: <?php  $Fich  =  "ip.txt" ...
  #1 (permalink)  
Antiguo 30/09/2007, 17:57
 
Fecha de Ingreso: enero-2007
Mensajes: 158
Antigüedad: 17 años, 3 meses
Puntos: 2
Comparar datos de un archivo txt (IP del visitante)

Hola a todos, utilizando php, consigo guardar la IP del visitante en un archivo .txt

El código es este:

Código PHP:
<?php 
$Fich 
"ip.txt";
$fh fopen($Fich'a') or die("Error!!");
fwrite($fh$_SERVER["REMOTE_ADDR"]);
fclose($fh);
?>
Me gustaría saber qué debo hacer para que cuando la IP del visitante se repita 3 veces, es decir, que haya entrado en esa página 3 veces, muestre un mensaje diciendo "Hola" (Por ejemplo...)

A ver si alguien me hecha una mano.

Un saludo y gracias!
  #2 (permalink)  
Antiguo 30/09/2007, 19:07
 
Fecha de Ingreso: septiembre-2007
Ubicación: Argentina
Mensajes: 29
Antigüedad: 16 años, 7 meses
Puntos: 0
Re: Comparar datos de un archivo txt (IP del visitante)

Hola, principalmente seria mas accesible usar algun gestor de base de datos, pero si necesitas que sea en files.. aver

Código PHP:
<?php 

$Fich 
"ip.txt";
$userIp $_SERVER["REMOTE_ADDR"];

$fh fopen($Fich'a') or die("Error!!");
fwrite($fh$userIp "\n");
fclose($fh);

$ips file($Fich);

$count 0;
foreach ( 
$ips as $ip )
{
    if ( 
$ip == $userIp )
        
$count++;
}

if ( 
$count == )
    print 
'Hola';

?>
No lo probe, pero deberia funcionar.

veamos en detalle; le agrega un salto de linea cuando lo escribe, para despues obtener un array con todos los valores usando la funcion file.

se recorren las ip's y se va aumentando en 1 $count por cada vez que se encontro la ip

lo demas se interpreta por si mismo..

un saludo y suerte con eso!!
  #3 (permalink)  
Antiguo 01/10/2007, 05:32
 
Fecha de Ingreso: enero-2007
Mensajes: 158
Antigüedad: 17 años, 3 meses
Puntos: 2
Re: Comparar datos de un archivo txt (IP del visitante)

sencev gracias por ayudarme, pero no consigo hacer que funcione.

Cuando guarda la IP, no hace el salto de línea, pero aunque no hiciese, cuando la ip se ha repetido 3 veces no muestra el mensaje.

A ver si me podeis hechar otra mano porfavor.

Gracias
  #4 (permalink)  
Antiguo 01/10/2007, 05:50
 
Fecha de Ingreso: octubre-2007
Ubicación: agua dulce, veracruz
Mensajes: 22
Antigüedad: 16 años, 6 meses
Puntos: 1
Re: Comparar datos de un archivo txt (IP del visitante)

mmm trata con un carriage return /r
Código PHP:
<?php  

$Fich 
"ip.txt"
$userIp $_SERVER["REMOTE_ADDR"]; 

$fh fopen($Fich'a') or die("Error!!"); 
fwrite($fh$userIp "\r\n"); 
fclose($fh); 

$ips file($Fich); 

$count 0
foreach ( 
$ips as $ip 

    if ( 
$ip == $userIp 
        
$count++; 


if ( 
$count == 
    print 
'Hola'

?>
  #5 (permalink)  
Antiguo 01/10/2007, 15:30
 
Fecha de Ingreso: enero-2007
Mensajes: 158
Antigüedad: 17 años, 3 meses
Puntos: 2
Re: Comparar datos de un archivo txt (IP del visitante)

Con el código fuente de kero-dono si que hace el salto de línea, pero no muestra el mensaje cuando la ip se repite 3 veces.

Alguien mas me puede ayudar?
  #6 (permalink)  
Antiguo 01/10/2007, 16:35
 
Fecha de Ingreso: octubre-2006
Mensajes: 173
Antigüedad: 17 años, 6 meses
Puntos: 3
Re: Comparar datos de un archivo txt (IP del visitante)

Hola creo que quitando el if y los entre paréntesis te funciona

Código PHP:
<?php   

$Fich 
"ip.txt";  
$userIp $_SERVER["REMOTE_ADDR"];  

$fh fopen($Fich'a') or die("Error!!");  
fwrite($fh$userIp "\r\n");  
fclose($fh);  

$ips file($Fich);  

$count 0;  
foreach ( 
$ips as $ip )  
{  
     
$ip == $userIp  
        $count
++;  
}  

if ( 
$count == )  
    print 
'Hola';  

?>
__________________
¨
  #7 (permalink)  
Antiguo 01/10/2007, 16:53
 
Fecha de Ingreso: septiembre-2007
Ubicación: Argentina
Mensajes: 29
Antigüedad: 16 años, 7 meses
Puntos: 0
Re: Comparar datos de un archivo txt (IP del visitante)

Ajá, el conflicto esta en que los valores son devueltos con el salto de linea incluido..

el codigo final quedaria así;

Código PHP:
$Fich "ip.txt"
$userIp $_SERVER["REMOTE_ADDR"]; 

$fh fopen($Fich'a') or die("Error!!"); 
fwrite($fh$userIp "\n"); 
fclose($fh); 

$ips file($Fich); 

$count 0
foreach ( 
$ips as $ip 
{  
    if ( 
substr($ip0, -1) == $userIp 
        
$count++; 


if ( 
$count == 
    print 
'Hola'
saludos :)
  #8 (permalink)  
Antiguo 01/10/2007, 17:21
 
Fecha de Ingreso: enero-2007
Mensajes: 158
Antigüedad: 17 años, 3 meses
Puntos: 2
Re: Comparar datos de un archivo txt (IP del visitante)

Funciona correctamente.

Y se podría hacer algo para que los datos que se guardan en el .txt se borren cuando acabe el día y empiece uno nuevo?

Gracias
  #9 (permalink)  
Antiguo 01/10/2007, 19:13
Avatar de Seppo  
Fecha de Ingreso: marzo-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.284
Antigüedad: 19 años, 1 mes
Puntos: 17
Re: Comparar datos de un archivo txt (IP del visitante)

Podés hacer que el primero del día borre el archivo...

Código PHP:
<?php
$Fich 
"ip.txt"
$userIp $_SERVER["REMOTE_ADDR"]; 

$truncate date('Ymd') != date('Ymd',filemtime($Fich));
$fh fopen($Fich'a') or die("Error!!"); 
if (
$truncateftruncate($fh,0);
fwrite($fh$userIp "\n"); 
fclose($fh); 

$ips file($Fich); 

$count 0
foreach ( 
$ips as $ip 
{  
    if ( 
substr($ip0, -1) == $userIp 
        
$count++; 


if ( 
$count == 
    print 
'Hola';
  #10 (permalink)  
Antiguo 02/10/2007, 14:37
 
Fecha de Ingreso: enero-2007
Mensajes: 158
Antigüedad: 17 años, 3 meses
Puntos: 2
Re: Comparar datos de un archivo txt (IP del visitante)

Probaré a ver si funciona correctamente lo de borrarse.

Gracias por ayudarme.
  #11 (permalink)  
Antiguo 20/02/2010, 11:21
 
Fecha de Ingreso: febrero-2010
Mensajes: 3
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Comparar datos de un archivo txt (IP del visitante)

saludos amigos,
he entrado a este foro porque tengo que hacer algo parecido pero probando el codigo que proponen aqui no me funciona.
Yo tengo que hacer que dado un dato entrado por el usuario, buscar ese dato en un archivo txt, y si se encuentra, devolver los datos de 5 lineas mas abajo de la coincidencia.
Saludos, espero alguien pueda ayudarme, gracias de antemano.
Osbel
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 01:35.