Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Licznik dzienny
blown
post
Post #1





Grupa: Zarejestrowani
Postów: 34
Pomógł: 0
Dołączył: 16.03.2009

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


Witam,
szukam skryptu, który będzie zliczał dzienne wejścia czytelników tzn. dzisiaj w środe pokaże wszystkie wejścia i o godz. 24 się wyzeruje. W czwartek pokaże wszystkie wejścia 24 zeruje itd. Znalazłem coś takiego:

  1. <?php
  2. $dzien=date("l");
  3. $dzien=strtolower($dzien);
  4. $path="dni/";
  5. $confirm=$HTTP_COOKIE_VARS["licz"];
  6.  
  7. $_temp=Array(
  8. "monday" => "sunday",
  9. "thuesday" => "monday",
  10. "wednesday" => "thuesday",
  11. "thursday" => "wednesday",
  12. "friday" => "thursday",
  13. "saturday" => "friday",
  14. "sunday" => "saturday"
  15. );
  16.  
  17.  
  18. for($i=0;$i<=$dzien;$i++){
  19. if(($dzien)&&(!@file_exists($path."$dzien.txt"))&&(!isset($confirm)))
  20. {
  21.  
  22. $ustaw=fopen($path."$dzien.txt","w");
  23. chmod($path."$dzien.txt",0666);
  24. fclose($ustaw);
  25.  
  26. $poniedzialek=file($path."$dzien.txt");
  27. $stan=$poniedzialek[0]+1;
  28. $poniedzialek=fopen($path."$dzien.txt","w");
  29. flock($poniedzialek,2);
  30. fwrite($poniedzialek,$stan);
  31. flock($poniedzialek,3);
  32. fclose($poniedzialek);
  33.  
  34. @unlink($path."$_temp[$dzien].txt");
  35. setcookie("licz","odslona",time()+3600*24);
  36. echo "$stan";
  37.  
  38. }
  39.  
  40. elseif(($dzien)&&(@file_exists($path."$dzien.txt"))&&(!isset($confirm)))
  41. {
  42.  
  43. $poniedzialek=file($path."$dzien.txt");
  44. $stan=$poniedzialek[0]+1;
  45. $poniedzialek=fopen($path."$dzien.txt","w");
  46. flock($poniedzialek,2);
  47. fwrite($poniedzialek,$stan);
  48. flock($poniedzialek,3);
  49. fclose($poniedzialek);
  50. setcookie("licz","odslona",time()+3600*24);
  51. echo $stan;
  52.  
  53. }
  54.  
  55. elseif(($dzien)&&(@file_exists($path."$dzien.txt"))&& isset($confirm))
  56. {
  57.  
  58. $plik=fopen($path."$dzien.txt","r");
  59. flock($plik, 1);
  60. $line=chop(trim(fgets($plik,15)));
  61. flock($plik, 3);
  62. fclose($plik);
  63. echo $line;
  64.  
  65. }
  66. }
  67. ?>


tylko, że po każdym odświeżeniu liczba rośnie zamiast się zatrzymać. Kombinowałem już z cookie ale nic mi nie chce z tego wyjść potrzebuje pomocy.

Ten post edytował blown 6.08.2014, 12:03:54
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 1)
tzm
post
Post #2





Grupa: Zarejestrowani
Postów: 675
Pomógł: 58
Dołączył: 17.12.2013

Ostrzeżenie: (10%)
X----


Nie wiem czy potrzebujesz to na stronie w której użytkownicy się logują, czy korzystasz z bazy...

Ale jeśli już chcesz korzystać z cookie to patrz:

Pierwsze wejście na stronę niech poza zwiększeniem licznika tworzy także ciasteczko z ustawioną datą ważności na różnice czasu między aktualną godziną, a godziną o której się licznik resetuję. W ciastku ustaw parametr - visit = 1 czy coś takiego i wchodząc na stronę, zanim licznik zacznie działać sprawdzaj ifem czy w ciastku istnieje zmienna visit i jeśli ma wartość 1 niech nie robi nic.

No i to tyle.
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 - 13:23