Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Licznik dla każdej podstrony
Forum PHP.pl > Forum > Przedszkole
VanGraaaf
Witam !

Jestem pierwszy raz na tym forum, więc jeśli zrobiłem coś nie tak darujcie mi happy.gif

Mój problem jest następujący, otóż buduje serwis który jak na razie będzie miał tylko 20 podstron.
Zależy mi na tym aby prowadzić statystykę odsłon oddzielnie dla każdej z nich, a nie np. tylko dla strony głównej. W PHP raczkuje ale domyślam się że coś takiego jest możliwe, nie chcę korzystać z serwisów statystyk ponieważ nie lubię iść na łatwiznę no i wolę odrobinę niezależności.

Jak na razie mam skrypt operujący na pliku tekstowym ale niestety działa tylko na stronie głównej a na podstronach wartość jest ciągle ta sama czyli 0 sciana.gif , choć oczywiście zrobiłem oddzielny plik tekstowy dla każdej podstrony zmieniłem w kodzie jego nazwę oraz nazwę strony do której się odnosi ale nic to nie dało. Myślałem że może trzeba zrobić coś ze zmienną $dane ale jak już pisałem raczkuje w PHP i pewnie narobiłbym tylko błędów.

Oto skrypt:

Kod
<?php
     if((!isset($_COOKIE['licznikowe-ciacho'])) && (!strstr($_SERVER['HTTP_REFERER'], "adres twojej strony")))

               { $plik = fopen("liczniki/index.txt", "r");
         $tekst = fread($plik, filesize("liczniki/index.txt"));
         $dane = explode(";", $tekst);
         fclose($plik);
         $plik = fopen("liczniki/index.txt", "w");
         flock($plik, 2);
         $dane[0]++;
         fwrite($plik, "$dane[0];", 15);
         flock($plik, 3);
         fclose($plik);
         setcookie("licznikowe-ciacho", "zliczono", time()+86400); }

     else  { $plik = fopen("liczniki/index.txt", "r");
         $tekst = fread($plik, filesize("liczniki/index.txt"));
         $dane = explode(";", $tekst); }
?>
</b><b>


na samym początku dokumentu przed <head>( gdyż jest to strona w html-u lecz z rozszerzeniem *php ) i w sekcji <body> :

Kod
<?php echo($dane[0]); ?>
</b><b>


Podobny problem mam również ze skryptem liczącym czas ładowania strony " Strona wygenerowana w czasie ... " - działa tylko na stronie głównej sciana.gif

Kod
<?php
         function pobierz_microczas()

               { list($msek, $sek) = explode(" ", microtime());
                 return ((float)$msek + (float)$sek); }

                 $czas_poczatku = pobierz_microczas();
?>
</b><b>


przed <head> i w <body> :

Kod

<?php
                 $czas_konca = pobierz_microczas();
                 $czas_trwania = round($czas_konca - $czas_poczatku, 2);

         echo 'Strona wygenerowana
w czasie :'.$czas_trwania.' sek.';
?>
</b><b>


Bardzo proszę o pomoc !

Pozdrawiam !


guilty82
Jeśli ";" to ma byc separator to nie
  1. <?php
  2. fwrite($plik, "$dane[0];", 15);
  3. ?>

a
  1. <?php
  2. fwrite($plik, $dane[0].";", 15);
  3. ?>
-VanGraaaf-
No ok smile.gif

I Jeśli to poprawię to licznik będzie mi działał dla każdej podstrony ?
Czy jeszcze muszę coś zrobić ?

Jeśli tak to podajcie chociaż jakiś przykład tylko błagam
prostym językiem aby zrozumiał

Pozdro !
mike
Cytat(-VanGraaaf- @ 20.10.2008, 15:43:51 ) *
I Jeśli to poprawię to licznik będzie mi działał dla każdej podstrony ?
Empiryzm [gr. émpeiros ‘doświadczony’]
-VanGraaaf-
Beatus, qui prodest, quibus potest – Szczęśliwy, kto pomaga, komu może
mike
"Daj komuś rybę, a nakarmisz go na jeden dzień. Naucz go łowić ryby, a nakarmisz go na całe życie."
-VanGraaaf-
ERRARE HUMANUM EST - Pokaż mi drogę a wtedy nią pójdę ! ( czas nie czeka na nas )
mike
Cytat(-VanGraaaf- @ 20.10.2008, 15:54:47 ) *
Beatus, qui prodest, quibus potest – Szczęśliwy, kto pomaga, komu może
Cytat ładny. Ale co z tego skoro nie rozumiesz definicji pomocy.
Cytat(-VanGraaaf- @ 20.10.2008, 16:16:30 ) *
ERRARE HUMANUM EST - Pokaż mi drogę a wtedy nią pójdę ! ( czas nie czeka na nas )
Pokazałem Ci. A Ty stoisz w miejscu.

Szybciej byś sprawdził niż czekał na odpowiedź na froum. Pytanie, które zadałes było zbędne.
-VanGraaaf-
Poprawiłem kod tak jak zaproponował guilty82, ale co z tego skoro nadal jest to samo.
Nie jestem jakimś programistą PHP i sądziłem że mi tu ktoś to wytłumaczy lub chociaż pokaże na co mam zwrócić uwagę, lecz zamiast tego nauczyłem się przysłowia o rybach happy.gif
taktu
czasem warto iść na łatwiznę.. easy side of the force tongue.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.