Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Licznik wizyt oparty na cookies
Forum PHP.pl > Forum > Gotowe rozwiązania > Szukam
X_x_XXX_x_X
Szukam licznika, który jest odporny na odświeżenia. Dzisiaj szukałem dobre 15 minut ale większość była oparta na plikach graficznych szukam takiego co jest tylko na tekstowych tj. plik gdzie zapisuje się liczba. Dobrze by był to kod, który wkleję do index.php.
MacDada
1.) Po wejściu na stronę skrypt sprawdza czy ma dostępne jakieś ciastko. Jak ma to nic nie robi (bo to znaczy, że użytkownik już wcześniej był na stronie). Jeśli nie dostał ciastka to:

2.) W skrypcie strony robisz licznik, który pobiera aktualną wartość liczby wizyt, powiększa go o jeden po otwarciu strony i zapisuje z powrotem. Zapisywać może do bazy danych, pliku .ini, whatever. Potem tworzysz sobie ciastko i ustawiasz czas na taki, żeby przez najbliższe 100 lat Ci się samo nie usunęło.

Oczywiście nic nie pomoże, jeśli użytkownik sam ciastko usunie.

Tu masz jak korzystać z ciastek:
http://php.net/manual/en/function.setcookie.php
X_x_XXX_x_X
Gotowe rozwiązania > Szukam

smile.gif
gorden
mam nadzieję, że nie za późno... jeśli chcesz, aby licznik doliczał odwiedziny na każdej stronie, robisz jeden plik, a później includujesz go na każdej stronie. jeśli chcesz na jednej stronie, po prostu wklejasz kod...

  1. <?php
  2. $plik = fopen("licznik.txt","r"); //plik, gdzie będzie znajdować się licznik
  3. $licznik = fgets($plik);
  4. fclose($plik);
  5.  
  6. if(!isset($_COOKIE['odwiedziny'])) {
  7. setcookie("odwiedziny", time() - 86400); //tutaj czas w sekundach, co ile ma być naliczany licznik
  8. $licznik++;
  9. $plik = fopen("licznik.txt","w"); //tutaj wpisujemy taki plik, jak wyżej
  10. fwrite($plik, $licznik);
  11. fclose($plik);
  12. }
  13. echo"Odwiedziło nas <b>$licznik</b> osób!"; //tutaj echo ze zmienną $licznik
  14. ?>
thomson89
Mamy nowsze metody - np. file_get_contents
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-2024 Invision Power Services, Inc.