The_Lozer Skrevet 5. februar 2007 Skrevet 5. februar 2007 denne hitcounteren teller kun en gang per ip, eller det vil si den skal telle en gang per ip <?php $fil = file("ip.txt"); $tell = count($fil); $ip = $_SERVER["REMOTE_ADDR"]; foreach($fil as $linje) { $ex = explode("*", $linje); if ($ip !== $ex[0]) { $skrive = fopen("ip.txt", "a"); $text = "{$ip}*ok*\r\n"; fwrite($skrive, $text); fclose($skrive); header("refresh:1"); break; } else echo $tell; } ?> men hva er galt? takker for alle svar
Ståle Skrevet 5. februar 2007 Skrevet 5. februar 2007 <?php $fil = file("ip.txt"); $tell = count($fil); $ip = $_SERVER['REMOTE_ADDR']; foreach($fil as $linje) { $ex = explode("*", $linje); if ($ip != $ex[1]) { $skrive = fopen("ip.txt", "a"); $text = "*$ip*ok*\r\n"; fwrite($skrive, $text); fclose($skrive); header("refresh:1"); } else echo $tell; } ?>
Ric_H Skrevet 5. februar 2007 Skrevet 5. februar 2007 foreach($fil as $linje) { $ex = explode("*", $linje); if ($ip !== $ex[0]) { $skrive = fopen("ip.txt", "a"); $text = "{$ip}*ok*\r\n"; fwrite($skrive, $text); fclose($skrive); header("refresh:1"); break; } Jeg antar at det er en feil i if-setningen, som resulterer i at du skriver IP'en til fil med en gang du finner en IP som er ulik. Du sjekker ikke egentlig om IP-adressen er der, eller ikke. Du bør kanskje vente med all skriving til fil til etter foreach-loopen er ferdig. Forslag (ikke testet): $exists = false; foreach($fil as $linje) { $ex = explode("*", $linje); if ($ip == $ex[0]) $exists = true; } if ($exists) echo $tell; else { $skrive = fopen("ip.txt", "a"); $text = "{$ip}*ok*\r\n"; fwrite($skrive, $text); fclose($skrive); header("refresh:1"); }
The_Lozer Skrevet 5. februar 2007 Forfatter Skrevet 5. februar 2007 (endret) EDIT: ... igjen jeg dreit meg ut litt, det funka takker for svar Endret 5. februar 2007 av The_Lozer
ZoRaC Skrevet 5. februar 2007 Skrevet 5. februar 2007 Hvorfor vil dere ikke kjøre echo $tell; uansett? Slik den er nå så skriver den bare ut antallet om IPen er telt fra før...
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå