Mam problem z licznikiem odwiedzin strony o to jest kod
<?php function polnoc() /* odmierza ile sekund od danej chwili jest do konca dnia*/ { $teraz = date(“H:i:s”); $czas = explode(":", $teraz); $godziny = 23-$czas[0]; $minuty = 59-$czas[1]; $sekundy = 59-$czas[2]; $waznosc = $godziny*3600 + $minuty*60 + $sekundy; return $waznosc; } if((!isset($_COOKIE[‘licznik’])) && (!strstr($_SERVER[‘HTTP_REFERER’], “www.nazwa-strony.pl”))) { $plik = fopen(“licznik.txt”, “r”); $tekst = fread($plik, filesize(“licznik.txt”)); $dane = explode(";", $tekst); fclose($plik); $plik = fopen(“licznik.txt”, “w”); flock($plik, 2); $dane[0]++; fwrite($plik, “$dane[0];”, 15); flock($plik, 3); fclose($plik); /*LICZNIK DZIENNY - MADE BY WOWO */ $data = date(“Y-m-d”); /*zmienna przechowująca dzisiejszą datę*/ $dzienny=fopen(“dzienny.txt”,“r”); /*otwieramy plik, plik jest formatu yyyy-mm-dd:liczba:yyyy-mm-dd:liczba, gdzie pierwsza data jest data dzisiejsza, pierwsza liczba liczbą odwiedzin dzisiaj, druga data, to data wczorajsza, druga liczba to liczba odwiedzin wczoraj*/ $dzienny_tekst =fread($dzienny, filesize(“dzienny.txt”)); /*czytamy caly plik do zmiennej dzienny_tekst*/ $dane2 = explode(":", $dzienny_tekst); /*rozbijamy wczytany tekst z pliku, na daty i liczby klikniec - calosc bedzie w tabeli*/ fclose($dzienny); /*zamykamy plik, ktory otwarlismy tylko do odczytu*/ if($dane2[0]==$data) /*jesli w pierwsza data w pliku jest data dzisiejsza to dzialamy jak nizej*/ { $dane2[1]++; /*zwiekszamy liczbe klikniec dzisiaj*/ $dzienny=fopen(“dzienny.txt”,“w”); /*otwieramy plik do zapisu*/ flock($dzienny, 2); /* blokujemy plik przed zapisem*/ fwrite($dzienny, “$dane2[0]:$dane2[1]:$dane2[2]:$dane2[3]”, 30); /*zapisujemy calość do pliku */ flock($dzienny, 3); /* odblokowujemy plik */ fclose($dzienny); /* zamykamy plik */ } else/* jeśli pierwsza data w pliku nie jest dzisiejszą datą */ { $dane2[2]=$dane2[0]; /* druga date w pliku ustawiamy, ta ktora byla do tej pory pierwsza*/ $dane2[3]=$dane2[1]; /* druga liczbe odwiedzin ustawiamy, ta ktora byla do tej pory pierwsza*/ $dane2[0]=$data; /* ustawiamy pierwsza date w pliku na date dzisiejsza*/ $dane2[1]=1; /* liczbe klikniec ustawiamy na 1 bo sa to pierwsze odwiedziny tego dnia*/ $dzienny=fopen(“dzienny.txt”,“w”); /*otwieramy plik do zapisu*/ flock($dzienny, 2); /*blokada zapisu*/ fwrite($dzienny, “$dane2[0]:$dane2[1]:$dane2[2]:$dane2[3]”, 30); /*zapisujemy calość do pliku */ flock($dzienny, 3);/* odblokowujemy plik */ fclose($dzienny);/* zamykamy plik */ } setcookie(“licznik”, “zliczono”, time()+polnoc()+1 ); /* cookie blokuje licznik do konca doby */ }else{ $plik = fopen(“licznik.txt”, “r”); /* obsluga licznika stalego*/ $tekst = fread($plik, filesize(“licznik.txt”)); $dane = explode(";", $tekst); fclose($plik); $dzienny=fopen(“dzienny.txt”,“r”); /* obsluga licznika dziennego*/ $dzienny_tekst =fread($dzienny, filesize(“dzienny.txt”)); $dane2 = explode(":", $dzienny_tekst); fclose($dzienny); } ?> Licznik: Ogólem:<?php echo($dane[0]); ?> Dzisiaj (<?php echo($dane2[0]); ?>): <?php echo($dane2[1]); ?> gosci. Ostatnia Wizyta (<?php echo($dane2[2]); ?>) :<?php echo($dane2[3]); ?> gosci.
dodatkowo zaincludowałem go w wybranym miejscu
Jednak nie wiem dlaczego nie wyswietla mi tych statystyk oczywiscie mam zalozony jeszcze dwa pliki dzienny.txt oraz licznik.txt i atrybuty ustawione na 777 a i tak nie dziala moze kots wie dlaczego?
floyd
(floyd)
4 Grudzień 2007 17:36
#2
licznik działa poprawnie.Ważność jest ustawiona na 24 godziny dlatego nie widzisz efektów.
Zmień tymczasow linię:
if((!isset($_COOKIE['licznik'])) && (!strstr($_SERVER['HTTP_REFERER'], "www.nazwa-strony.pl")))
na np. taką:
if( (!strstr($_SERVER['HTTP_REFERER'], "www.nazwa-strony.pl")))
to zobaczysz efekt.
zamieniełem dana linijke i mimo to nei widac efektow