Tarkotus olis tehdä kävijälaskuri tekstitiedostoa apuna käyttäen, joka laskee UNIIKIT kävijät. Tälläistä en ainakaan nopsaa täältä löytänyt, joten kokeilin itse tälläistä pientä koodikolmosta. No eihän tässä nyt näytä toimivan kun kaikki kävijät yhteensä, muut näyttää nollaa. Pitäisi siis laskea kävijät tänään, eilen, tässä kuussa ja yhteensä.
<?php $tt = fopen("kavijat.txt", "a") or die("Ei voitu luoda kavijatlaskuritiedostoa! (kavijat.txt)"); $ip = $_SERVER["REMOTE_ADDR"]; $day = date("d"); $month = date("m"); $year = date("Y"); fwrite($tt, "$ip|$day|$month|$year\n"); fclose($tt); $file = file("kavijat.txt"); $tanaan = 0; $eilen = 0; $kuussa = 0; $yhteensa = 0; $tanaan_kavijat = array(); $eilen_kavijat = array(); $kuussa_kavijat = array(); $yhteensa_kavijat = array(); foreach($file as $rivi) { $explode = explode("|", $rivi); //0 = ip, 1 = päivä, 2 = kuukausi, 3 = vuosi if($explode[1] == $day && $explode[2] == $month && $explode[3] == $year && !in_array($explode[0], $tanaan_kavijat)) { $tanaan_kavijat[] = $explode[0]; $tanaan++; } if($explode[1] == ($day-1) && $explode[2] == $month && $explode[3] == $year && !in_array($explode[0], $eilen_kavijat)) { $eilen_kavijat[] = $explode[0]; $eilen++; } if($explode[2] == $month && $explode[3] == $year && !in_array($explode[0], $kuussa_kavijat)) { $kuussa_kavijat[] = $explode[0]; $kuussa++; } if(!in_array($explode[0], $yhteensa_kavijat)) { $yhteensa_kavijat[] = $explode[0]; $yhteensa++; } } ?>
Tekstitiedostoon tulee ip:t ja päivämäärät ihan oikeassa muodossa. Tämä laskuri toimi ihan hyvin, kunnes lisäsin vuoden tarkistuksen tonne iffiin... Mikähän tässä nyt kusee?
Kokeileppa kääriä vertailuun "luvut" intvallin sisälle tyyliin:
intval($explode[1]) == intval($day)
jne...
kasetti kirjoitti:
Kokeileppa kääriä vertailuun "luvut" intvallin sisälle tyyliin:
intval($explode[1]) == intval($day)jne...
Kiitos, nyt toimii!
Aihe on jo aika vanha, joten et voi enää vastata siihen.