Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Licznik wejsc z ciasteczkiem
Forum PHP.pl > Forum > Gotowe rozwiązania
Mifczu
Jestem poczatkujacy i zaczynam dopiero sie uczyc php. Znalazlem skrypt licznika odwiedzin ktory jest nizej i wyglada wszystko dobrze ale jak odswierzam to zwieksza sie licznik.
Na samym poczatku:
  1. <?
  2. setcookie(&#092;"visited\", \"1\", time()+3600*3);
  3. /* wysyła cookie na komputer użytkownika */
  4. ?>

W Body
  1. <?
  2.  
  3. if(file_exists(&#092;"counter.n\")) /* sprawdza, czy plik istnieje */
  4. {
  5.  $file=fopen(&#092;"counter.n\", \"r\"); /* otwiera plik */
  6.  flock($file, 1); /* blokuje plik */
  7.  
  8.  $ile=fgets($file, 100); /* odczytuje wartość */
  9.  
  10.  flock($file, 3); /* odblokowuje plik */
  11.  fclose($file); /* zamyka plik */
  12.  
  13.  if($visited!=&#092;"1\") /* sprawdza, czy
  14. użytkownik już odwiedzał stronę */
  15.  {
  16. $ile++; /* zwiększa wartość
  17.  o 1 tylko po pierwszym wejściu */
  18.  }
  19. }
  20. else
  21. {
  22.  $ile=1; /* jeśli plik nie istnieje, wyświetli się 1 */
  23. }
  24.  
  25.  
  26.  
  27. $file=fopen(&#092;"counter.n\", \"w\"); /* otwiera plik do zapisu */
  28. flock($file, 2); /* blokuje do zapisu */
  29.  
  30. fwrite($file, $ile); /* zapisuje wartość */
  31.  
  32. flock($file, 3); /* odblokowuje plik */
  33. fclose($file); /* zamyka plik */
  34.  
  35. echo($ile); /* wyświetla wartość */
  36.  
  37. ?>

Dlaczego nie dziala? Nawet probowalem dac w przegladarce na 0 bezpieczenstwo czyli full cistka itp. itd. i tak zwieksza sie :/
Tsiru
A gdzie jest twój serwer questionmark.gif
Mój ma 7 godzin różnicy z czasem polskim i musze zawsze wpisywać time()+7*60*60 :/
Może to przez to ?
Mifczu
To na moim domowym apatchu biggrin.gif a czasm mam dobry biggrin.gif wiec powinno dzialac chyba.
Tsiru
No to niewiem :/
Musiałbym dobrze pomyśleć nad kodem (też jestem początkujący, może nawet bardziej - a co!), a musze napisać jeszcze księge gości.
mike
Włącz zmienne globalne, a jeżeli masz włączone to zacznij je stosować.
Wydaje mi się że błąd jest tu :
Nie tak :
  1. <?php
  2. //...
  3. if( $visited != &#092;"1\" ) /* sprawdza, czy użytkownik już odwiedzał stronę */
  4. {
  5. $ile++; /* zwiększa wartość o 1 tylko po pierwszym wejściu */
  6. }
  7. //...
  8. ?>

tylko tak :
  1. <?php
  2. //...
  3. if( $_COOKIE[ 'visited' ] != &#092;"1\" ) /* sprawdza, czy użytkownik już odwiedzał stronę */
  4. {
  5. $ile++; /* zwiększa wartość o 1 tylko po pierwszym wejściu */
  6. }
  7. //...
  8. ?>
Mifczu
Niby dziala biggrin.gif

THX mike_mech.
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.