Hola!

Registrándote como bakuno podrás publicar, compartir y comunicarte en privado con otros bakuos :D

Regístrame ya!

Capturar y almacenar IP(ayuda) - Php y MySQL

  • Autor de tema Autor de tema b3n0x
  • Fecha de inicio Fecha de inicio

b3n0x

Bovino maduro
Desde
11 Jul 2008
Mensajes
470
Bien veamos camaradas, tengo mi Código que captura cierta información de un usuario. Luego la almacena en una tabla en mi BD, ahora bien todo el codigo me funciona. Solo que necesito ayuda en cuanto a que "si la ip entra varias veces se repite la insercion", me explico. 127.0.0.1 entro y si doy recargar, me captura la misma Ip y asi sucesivamente. Lo que necesito es que al entrar captura la IP y la limite a una ves por dia digamos. O vaya una ves y vaya en aumento segun las visitas que se hagan de esa ip.

Gracias.

Código:
<?php 
// B E N O X @ CreativeMinds
/////////////////////////////
// Conexion a Base de datos:
$conexion = mysql_connect("Servidor","Usuario","PWD");
mysql_select_db("BASEDEDATOS",$conexion);
// Agregamos las variables y tabla:
$agre = "INSERT INTO ip (id,ip,browser,url) ";
// Variables que deseamos y (backup) en HTML:
$ip = $_SERVER['REMOTE_ADDR']; 				// Recogemos la IP del usuario da igual si usa proxy o no.
$browser = $_SERVER['HTTP_USER_AGENT']; 	// Navegador y datos técnicos.
$url = $_SERVER['HTTP_REFERER']; 			// URL de procedencia, testing.
//Capturamos la variable en MySQL
$agre.= "VALUES ('id','$ip','$browser','$url') ";
//Cerramos la conexion y mostramos error de ser necesario.
$res = mysql_query($agre, $conexion) or die(mysql_error());
?>
 
Bien veamos camaradas, tengo mi Código que captura cierta información de un usuario. Luego la almacena en una tabla en mi BD, ahora bien todo el codigo me funciona. Solo que necesito ayuda en cuanto a que "si la ip entra varias veces se repite la insercion", me explico. 127.0.0.1 entro y si doy recargar, me captura la misma Ip y asi sucesivamente. Lo que necesito es que al entrar captura la IP y la limite a una ves por dia digamos. O vaya una ves y vaya en aumento segun las visitas que se hagan de esa ip.

Gracias.

Código:
<?php 
// B E N O X @ CreativeMinds
/////////////////////////////
// Conexion a Base de datos:
$conexion = mysql_connect("Servidor","Usuario","PWD");
mysql_select_db("BASEDEDATOS",$conexion);
// Agregamos las variables y tabla:
$agre = "INSERT INTO ip (id,ip,browser,url) ";
// Variables que deseamos y (backup) en HTML:
$ip = $_SERVER['REMOTE_ADDR'];                 // Recogemos la IP del usuario da igual si usa proxy o no.
$browser = $_SERVER['HTTP_USER_AGENT'];     // Navegador y datos técnicos.
$url = $_SERVER['HTTP_REFERER'];             // URL de procedencia, testing.
//Capturamos la variable en MySQL
$agre.= "VALUES ('id','$ip','$browser','$url') ";
//Cerramos la conexion y mostramos error de ser necesario.
$res = mysql_query($agre, $conexion) or die(mysql_error());
?>

1. Agrega un campo a la tabla ip tipo date
2. Al entrar a la página realiza un select a la tabla ip donde ip=la ip y fecha= la fecha actual
2. Si no se encontró el registro (mysql_num_rows($res)<=0) agrégalo con la fecha actual

De esa manera vas a tener más consultas solo por ahorrarte espacio en la bdd, otra manera es que utilices cookies.

Saludos!
 
Sí, pero por ejemplo al utilizar coockies. Se borran y seria inutil. Anoche despues de postear esto intente asi con coockies pero no es fiable.

Lo primero ya lo hice y asi lo deje. Verifica fecha y hora. Y cada 10 Horas captura la IP de nuevo, asi genera una visita por IP cada determinado tiempo.


¡Muchas gracias por tu respuesta!
 
es bueno pero una vez logeado deberías de aprovechar los de mas datos como el nombre del usuario correo que al entrar en una pagina la que desees se guarden los datos o al realizar una comentario, hacer una publicación, enviar un correo, etc.

Espero que sea buena mi opinión saludos
 
Volver
Arriba