Tässä olisi tarkoitus olla kävijälaskuri, joka kerää talteen ns. uniikit, eli eri ip:n omaavat kävijät. Mutta näyttäisi siltä, että mielestäni kävijöitä on liikaa :D. Tai sitten ei, mutta ajattelin, että jos teillä on aikaa katsoa, toimiiko tämä oikein niin olisin kiitollinen.
<?php # Sivuston kävijälaskuri. # Tiedostoon **.txt kerätään uniikit kävijätiedot ip-osoitteiden perusteella # Tiedostoon **.txt kerätään kävijätiedot f5- taktiikalla, # eli aina kun sivu latautuu uudelleen # Tiedostojen sijainnit $file_location="ip.txt"; $file_location_two="all.txt"; # Tarkistetaan selaimen ip-osoite $ipAddress= $_SERVER['REMOTE_ADDR']; $file = file($file_location); # Ip osoitetta ei olla alustavasi löydetty. $ei_loydetty = true; for($i=0; $i < count($file); $i++) if($ipAddress == trim($file[$i])) { # Ip -osoitetta on löydetty joten asetaan muuttujan arvoksi false, # jotta voidaan matka katkeaa $ei_loydetty = false; # A kirjain avaa tiedoston vain kirjoittamista varten. $fl2 = fopen($file_location_two, "a"); # Kirjoitetaan tiedostoon fwrite($fl2, '1' ."\r\n"); break; } # Tiedostoa ei ole läydetty, jatketaan matkaa tästä if($ei_loydetty == true) { # Jos tiedostoa ei ole vielä olemassa, luodaan se. $fl = fopen($file_location, "a"); # Kirjoitetaan tiedostoon fwrite($fl,$ipAddress."\r\n"); } # Lasketaan kävijät $calculate = count(file($file_location)); # Lasketaan kävijät 2 $calculate2 = count(file($file_location_two)); echo '<font style="font-family:arial; color:white;">Sivuillamme on vieraillut <b>'. $calculate .'</b> käyttäjää.</font><br/>'; ?>
Silmukan jälkeen ei ole aaltosulkua:
Tällöin silmukassa suoritetaan ainoastaan sitä seuraava if-lause. Tämä kuitenkin lähemmän tarkastelun jälkeen vaikuttaa tarkoitukselliselta, onko se?
Muuta virhettä en koodin perusteella löytänyt, kokeilepa vaikka laittaa silmukan sisään rivit
niin saat niitä arvoja esille ja näet onko if-lause koskaan tosi. Ehkä trim() korvaa jotain väärin, esimerkiksi rivinvaihdon välilyönnillä? Tällöin voi toimia
if($ipAddress == str_replace(" ", "", trim($file[$i]));
Jos et tee kävijälaskuria tekemisen ilosta vaan tarpeeseen, kannataa ottaa käyttöön varmasti toimiva ja monipuolinen: https://www.ohjelmointiputka.net/koodivinkit/
Tekemisen ilosta tätä teen ja jos vika löytyy, niin siitä sitä iloa vasta saa. Jos on vikaa. :D. Mutta sulut puuttuvat vahingossa ja pitääpä huomenna tarkistaa mitä se sen jälkeen sanoo.
Aihe on jo aika vanha, joten et voi enää vastata siihen.