12. juni 2004 - 15:09
Der er
13 kommentarer og 1 løsning
besøgstæller som udelukker min ip
Hej. Jeg har en besøgstæller som bruger dette script: <?php $ip = getenv("REMOTE_ADDR"); $all = updateCount($ip,"./count/count.txt"); // Husk at bruge \\ istedet for \ $day = updateCount($ip, "./count/count1.txt", true); function updateCount($ip,$fil,$daily=false) { $f = file($fil); $antal = count($f); $yest = time() - 600; $o = 0; $xidag = "f"; $idag = time(); $idag2 = date("Y F d, H:i"); while ($antal > $o) { $streg = explode(" ", $f[$o]); if ($ip == $streg[0]) { $x = "t"; if ($streg[1] > $yest) { $xidag = "t"; } } $o++; } if ($xidag == "f") { if( $daily && date("z",filemtime($fil)) < date("z")) { $logg = fopen("$fil", "w"); $antal = 0; } else { $logg = fopen("$fil", "a"); } fputs ($logg, "$ip $idag, $idag2\n"); fclose ($logg); $antal++; } return $antal; } ?> Er der nogen som kan tilføje noget som gør at hvis jeg går ind på siden med ip adressen, f.eks. 81.82.83.84, så skal scriptet stopppe med det samme så jeg ikke bliver talt med.
Annonceindlæg fra Barco
du kan vel pakke det hele ind i en if fx.. if( $_SERVER["REMOTE_ADDR"] != "81.82.83.84" ) eller evt. bruge cookie baseret hvis du har dynamisk ip eller tilgår fra flere pc'er jævnligt.
Hvis det kun drejer sig om 1 IP, så kan du måske bruge: <?php $ip = getenv("REMOTE_ADDR"); $all = updateCount($ip,"./count/count.txt"); // Husk at bruge \\ istedet for \ $day = updateCount($ip, "./count/count1.txt", true); function updateCount($ip,$fil,$daily=false) { $f = file($fil); $antal = count($f); $yest = time() - 600; $o = 0; $xidag = "f"; $idag = time(); $idag2 = date("Y F d, H:i"); while ($antal > $o) { $streg = explode(" ", $f[$o]); if ($ip == $streg[0]) { $x = "t"; if ($streg[1] > $yest) { $xidag = "t"; } } $o++; } if($ip != "81.82.83.84") { if ($xidag == "f") { if( $daily && date("z",filemtime($fil)) < date("z")) { $logg = fopen("$fil", "w"); $antal = 0; } else { $logg = fopen("$fil", "a"); } fputs ($logg, "$ip $idag, $idag2\n"); fclose ($logg); $antal++; } } return $antal; } ?>
<?php $ip = getenv("REMOTE_ADDR"); if($ip != "81.82.83.84") { $all = updateCount($ip,"./count/count.txt"); // Husk at bruge \\ istedet for \ $day = updateCount($ip, "./count/count1.txt", true); function updateCount($ip,$fil,$daily=false) { $f = file($fil); $antal = count($f); $yest = time() - 600; $o = 0; $xidag = "f"; $idag = time(); $idag2 = date("Y F d, H:i"); while ($antal > $o) { $streg = explode(" ", $f[$o]); if ($ip == $streg[0]) { $x = "t"; if ($streg[1] > $yest) { $xidag = "t"; } } $o++; } if ($xidag == "f") { if( $daily && date("z",filemtime($fil)) < date("z")) { $logg = fopen("$fil", "w"); $antal = 0; } else { $logg = fopen("$fil", "a"); } fputs ($logg, "$ip $idag, $idag2\n"); fclose ($logg); $antal++; } return $antal; } } ?>
det virker ikke. Den melder fejl og siden vises ikke
frostware >> Vi er flere der kommer med forslag, så du er nok lige nødt til at skrive hvilket forslag det er som giver fejl.
jep har lige opdaget det jakobclausen. DEt er dit script jeg ikke kan få til at virke
Ja for den stopper scriptet, fordi det er din ipadresse, som du gerne ville. nogen fejlmeddelse?
Fatal error: Call to undefined function: updatecount() in /home/web/web18130/program/index.php on line 39
Så kan du jo prøve min løsning, jeg ekskluderer ikke updatecount();
12. juni 2004 - 15:27
#10
det ser ud til at jaw's kode virker. Kan jeg lige få én til at gå ind på
www.program.frostware.dk Så jeg kan se om den tæller, andres ip'er
12. juni 2004 - 15:32
#11
har været inde på siden
12. juni 2004 - 15:32
#12
det virker. Jaw smid et svar!.....kan andre forresten gå ind i php koden på en hjemmeside og f.eks. se min ip
12. juni 2004 - 15:33
#13
Nej det kan de ikke - for php afvikles og fortolkes på din server
12. juni 2004 - 15:39
#14
Perfekt jo :)
Vi tilbyder markedets bedste kurser inden for webudvikling