Foros del Web » Programando para Internet » PHP »

Ip en archivo de texto

Estas en el tema de Ip en archivo de texto en el foro de PHP en Foros del Web. Eh encontrado en la red un código PHP, que me permite guardar cierta información en un archivo de texto, esta información es La ip del ...
  #1 (permalink)  
Antiguo 01/03/2010, 23:50
 
Fecha de Ingreso: febrero-2010
Mensajes: 16
Antigüedad: 14 años, 2 meses
Puntos: 0
Ip en archivo de texto

Eh encontrado en la red un código PHP, que me permite guardar cierta información en un archivo de texto, esta información es La ip del visitante a mi web, el dia mes y año, ademas de la hora, el sistema operativo y el navegador que usa.

El problema que tengo es que cada vez que se refresca la pagina se agrega los mismo valores, es decir, se repite la información una y otra vez. Lo que me gustaría es que no se repitiera..

Ejemplo:
Código:
La  ip: 127.0.0.1 ha entrado: 1/3/2010 - 22:33 Con el navegador: Mozilla/5.0 (Windows; U; Windows NT 5.1; es-ES; rv:1.9.2) Gecko/20100115 Firefox/3.6
La  ip: 127.0.0.1 ha entrado: 1/3/2010 - 22:33 Con el navegador: Mozilla/5.0 (Windows; U; Windows NT 5.1; es-ES; rv:1.9.2) Gecko/20100115 Firefox/3.6
La  ip: 127.0.0.1 ha entrado: 1/3/2010 - 22:33 Con el navegador: Mozilla/5.0 (Windows; U; Windows NT 5.1; es-ES; rv:1.9.2) Gecko/20100115 Firefox/3.6
La  ip: 127.0.0.1 ha entrado: 1/3/2010 - 22:33 Con el navegador: Mozilla/5.0 (Windows; U; Windows NT 5.1; es-ES; rv:1.9.2) Gecko/20100115 Firefox/3.6
La idea es que se registrara solo 1 vez y que solo cambien los valores de la Fecha, hora y año en que entra.

El código es el siguiente:
Código PHP:
//Begin security.battle.detect!
date_default_timezone_set('America/Argentina/Buenos_Aires/Caracas/Madrid/Mexico'); 
$fecha getdate(); 
$hora = ($fecha["mday"]."/"$fecha["mon"]."/"$fecha["year"]." - "$fecha["hours"].":"$fecha["minutes"].""); 
$txt="La  ip: ".$_SERVER['REMOTE_ADDR']." ha entrado: ".$hora." Con el navegador: ".$_SERVER['HTTP_USER_AGENT']."\r\n";
$fd fopen ("security.battle.detect!""a") or 
die(
"Problemas en la conexion"); 
fputs($fd,"\n"); 
fputs($fd,$txt); 
fclose($fd);
//End security.battle.detect! 

security.battle.detect
! = Es el nombre de mi archivo txt, lo tengo así para que no lo lean y se evite la propagación de dicha información sin autorización.

Revisando un poco a fondo en la red encontre que es posible hacerlo con cookies, pero no tengo ni la mas mínima idea como se realiza.
  #2 (permalink)  
Antiguo 02/03/2010, 00:37
Avatar de JoseAlejandro_Realza  
Fecha de Ingreso: agosto-2008
Ubicación: Maracay - Venezuela
Mensajes: 192
Antigüedad: 15 años, 8 meses
Puntos: 2
Respuesta: Ip en archivo de texto

Excato, la mejor forma de trabajar ello, es utilizando las Cookies o las Sesiones que puedes crear facilmente en PHP. Ahora bien, yo te recomendaria que utilizes una base de datos Mysql para almacenar todos los datos que deseas, y asi podras manejar los datos con mucha mas facilidad y una seguridad optima.

1. Aca tienes informacion sobre las Sessiones en PHP:
http://www.desarrolloweb.com/articulos/235.php

2. Este otro es sobre las Cookies:http://www.desarrolloweb.com/articul...es-en-php.html

Suerte y Saludos
__________________
Tu Guía Empresarial http://www.empresarial.org.ve Soluciones Empresariales

Atte: José Alejandro Realza
  #3 (permalink)  
Antiguo 02/03/2010, 11:35
 
Fecha de Ingreso: febrero-2010
Mensajes: 16
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Ip en archivo de texto

Eh leído los 2 temas que me dejaste incluso seguí los enlaces que se ven dentro de los temas, pero no lo entendí en lo absoluto, si podrías hacérmelo mas fácil :) te agradecería!
  #4 (permalink)  
Antiguo 08/03/2010, 20:29
Avatar de JoseAlejandro_Realza  
Fecha de Ingreso: agosto-2008
Ubicación: Maracay - Venezuela
Mensajes: 192
Antigüedad: 15 años, 8 meses
Puntos: 2
Respuesta: Ip en archivo de texto

Ok, te pondré un ejemplo sencillo sin utilizar Cookies o Sessiones, Pero recuerda, que si el usuario tiene una IP dinámica (como es de costumbre) se creara otro registro como un usuario diferente. Este es el Código:

Código PHP:
<?php 

  $conexion 
mysql_connect('host','usuario','contraseña');
  
  
mysql_select_db('base_datos',$conexion);

  
$sql "SELECT * FROM Tabla WHERE IP ='".$_SERVER['REMOTE_ADDR']."'";
  
$query mysql_query($sql) or die ('error al extraer datos. ' mysql_error());

     if(!
$exite=mysql_num_rows($query)) {
        
$sql2 "INSERT INTO Tabla (IP,fecha,hora...) VALUES ('".$_SERVER['REMOTE_ADDR']."',...)";///terminas tu el query segun lo quieras para el insert
      
      
} else {

       
$sql2 "UPDATE Tabla SET IP = '".$_SERVER['REMOTE_ADDR']."', fecha =..."//terminas tu el query segun lo quieras para el update
      
      
}
     
mysql_query($sql2) or die('Error al procesar el usuario por:' mysq_error());

?>
__________________
Tu Guía Empresarial http://www.empresarial.org.ve Soluciones Empresariales

Atte: José Alejandro Realza

Etiquetas: ip
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:07.