El Usuario 1 visita al referido 318, y lo registra, pero si lo intenta por 2da vez o más, le lanza el error de que ya lo visitó. Simplemente usas la IP.
Código PHP:
Ver original// Verificamos si la IP existe...
$query = mysql_query("SELECT id FROM users WHERE ip='".$ip."'"); die("La IP XXX.XXX.... ya se encuentra registrada."); /*
O puedes usar un echo y un exit;
Ej :
echo "La IP ya está registrada...";
exit;
*/
}
Uso die, ya que tu código solo tiene un echo, es decir, tu código no detiene la ejecución de lo que está debajo, por lo cual seguirá insertando, e insertando.
Un consejo...
Tú tienes el siguiente comando update :
Código PHP:
Ver original$id = $_GET['id'];
$query = mysql_query("SELECT * FROM users WHERE id='$id'"); $reffers = $ver['reffers'];
$updater = mysql_query("UPDATE users SET reffers='$reffers'+'1' WHERE reffers='$reffers' AND id = $id");
Lo que estás haciendo no es del todo necesario. Primero sacas los datos del usuario con ID = $_GET['id'], obtienes la cantidad de referidos y luego la sumas en la tabla, pero eso lo puedes hacer sin el primer select, un ejemplo :
Código PHP:
Ver original$id = $_GET['id'];
$updater = mysql_query("UPDATE users SET reffers=reffers+1 WHERE id = $id");
Así es mucho más simple, menos carga a la BD, aunque sea ínfima y menos líneas de código también.
Sumar campos de esa manera es propio de los motores de base de datos.
Nos vemos.