Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Problem z prostym licznikiem
obo
post
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 10.05.2006

Ostrzeżenie: (0%)
-----


Mam taki kod:

  1. <?php
  2. if((!isset($_COOKIE['licznikowe-ciacho'])) && (!strstr($_SERVER['HTTP_REFERER'], "strona.pl"))) {
  3. $plik = fopen("licznik.txt", "r");
  4. $tekst = fread($plik, filesize("licznik.txt"));
  5. $dane = explode(";", $tekst);
  6. fclose($plik);
  7. $plik = fopen("licznik.txt", "w");
  8. flock($plik, 2);
  9. $dane[0]++;
  10. fwrite($plik, "$dane[0];", 15);
  11. flock($plik, 3);
  12. fclose($plik);
  13. setcookie("licznikowe-ciacho", "zliczono", 0);
  14. }
  15. else {
  16. $plik = fopen("licznik.txt", "r");
  17. $tekst = fread($plik, filesize("licznik.txt"));
  18. $dane = explode(";", $tekst);
  19. }
  20.  
  21. ?>


Problem polega na tym, że dodanie wartośći następuje po odświeżeniu strony. Następuje to tylko raz (ponowne odświerzenie nic nie daje).
Co może być nie tak?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
zakręcony
post
Post #2





Grupa: Zarejestrowani
Postów: 107
Pomógł: 10
Dołączył: 26.09.2007

Ostrzeżenie: (0%)
-----


może zanim padnie odpowiedź, to Twoim zdaniem jak działa ten skrypt?

edit: w sensie co powinien i kiedy "robić" (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Ten post edytował zakręcony 2.01.2008, 07:26:39
Go to the top of the page
+Quote Post
szw
post
Post #3





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 20.12.2007
Skąd: Gdańsk

Ostrzeżenie: (0%)
-----


Skrypt działa poprawnie z tego co widze.
Jeśli zastanawia cię czemu po odświeżeniu nie nalicza kolejnego odwiedzenia to wiedz, że to standardowe zachowanie każdego licznika odwiedzin. skrypt sprawdza czy użytkownik już był na stronie ($_COOCKE) jeśli nie to ustawia coockie setcookie("licznikowe-ciacho", "zliczono", 0);po to by licznik nie zliczał odświeżeń strony tylko ilość nowych uzytkowników przeglądających stronę.
Go to the top of the page
+Quote Post
krowal
post
Post #4





Grupa: Zarejestrowani
Postów: 561
Pomógł: 72
Dołączył: 15.11.2006

Ostrzeżenie: (0%)
-----


Fakt, jakoś się to zliczanie dziwnie odbywa (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) po co ten średnik na końcu pliku, po co explode... itp.. A licznik się nie zwiększa bo tak został napisany skrypt tzn. jeśli licznik się zwiększa to zostaje na komputerze osoby odwiedzającej zapisane ciasteczko, jeśli ta sama osoba klikając w linki na stronie będzie sobie po niej buszowała to przy każdym odświeżeniu strony jest sprawdzane czy takie ciastko już istnieje, jeśli tak to nic się nie dzieje.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 23:19