Originariamente inviato da eiyen
sì... l'errore è nel controllo... infatti il ciclo va avanti anche dopo che l'ip è trovato e se quindi (come nel tuo esempio) un record del db poi fornisce un risultato negativo, tu memorizzi l'ultimo e quindi $ip_trovato vale 0 (ultimo valore assegnato).

Se vuoi mantenere il loop senza fermarti fai così:

$ip_trovato = false; (prima del loop)
ramo true: $ip_trovato = true;
ramo false: niente

infine:

if ($ip_trovato) { ...
ok sembra funzionare! Però ho dovuto cambiare l'ultimo if così;

if (!$ip_trovato) //se non è true

Ti trovi?