Jak zrobić licznik odwiedzin odporny na odświeżanie?

Bartosz

Bartosz Stefanicki Sobota, 6.01.2024

Jak zrobić licznik odwiedzin odporny na odświeżanie?

Prosty licznik odwiedzin, który zliczałby 1 wejście w ciągu jednej doby 1 osoby. Jak zrobić taki licznik odporny na odświeżanie?

Skorzystamy w tym wypadku z ciasteczek (ang. cookies) - do ich zapisu służy funkcja setcookie():

setcookie(nazwa_ciasteczka, jego_wartość, czas_przechowywania_na_komputerze)

Tworzymy dwa pliki licznik.php oraz licznik.db, który pozostawiamy pusty. Zawartość pliku licznik.php:

<?php ob_start(); ?>
<html>
<head>
</head>
<body>
<?php
/* --- OPERACJA NA CIASTECZKACH, DODAJEMY WARTOŚCI */
/* warunek: jeżeli nie ma ciasteczka w pamięci przeglądarki o nazwie licznik_cook, z wartością 1 to: */
if(!$_COOKIE['LicznikCook']){

/* jeżeli plik z bazą danych (licznik.db) istnieje i jest zapisywalny (chmod: 666), to: */
if(file_exists("licznik.db")){
	if(is_writeable('licznik.db')){

	/* pobieramy zawartość tego pliku i podwyższamy jego wartość, np. z 34 na 35 */
	$bdpobierz = file_get_contents("licznik.db") + "1";

	/* otwieramy plik licznik.db - bazę danych */
	$bdzapisz = fopen("licznik.db", "w");

	/* nadpisujemy istniejącą wartość na tą ze zmiennej $bdpobierz, następnie zamykamy */
	fwrite($bdzapisz, $bdpobierz);
	fclose($bdzapisz);
	}
}

/* wysyłamy przeglądarce ciasteczko o nazwie licznik_cook, z wartością 1 (przykładowa wartość) oraz ustawiamy jego ważność na 24 godziny */
setcookie("LicznikCook", '1', time()+3600*24);
}

/* --- WYŚWIETLAMY ILOŚĆ ODWIEDZIN */
/* sprawdzamy, czy plik bazy danych istnieje */
if(file_exists("licznik.db")){

	/* sprawdzamy, czy plik bazy danych jest zapisywalny (666) */
	if(is_writeable('licznik.db')){

		/* pobieramy plik */
		$bdpokaz = file_get_contents("licznik.db");

		/* wyświetlamy zawartość, czyli ilość odwiedzin */
		echo "Licznik odwiedzin: $bdpokaz".'.<br/><br/>';

		/* jeżeli plik nie jest zapisywalny wyświetlamy komunikat o błędzie: */
		}else{echo "Plik nie jest zapisywalny. Ustaw chmody na 666.";}

}else{echo "Plik nie istnieje. Utwórz plik licznik.db i wgraj go na serwer.";}

?>
</body>
</html>

To wszystko. Zadanie wykonane.

Warto zobaczyć

Szukasz hostingu?

Jest dużo firm oferujących hosting, ale którą wybrać? Przedstawiamy zestawienie najciekawszych propozycji i ranking hostingów (Marzec 2024).

Data publikacji: Sobota, 16.05.2015. Tagi: php, skrypt, blog, licznik, strona internetowa. Źródło obrazka porady: Pixabay.

3 komentarzy


© 2005-2024 itporady.pl. Wszystkie prawa zastrzeżone.

Strona korzysta z plików cookies w celu realizacji usług i zgodnie z Polityką prywatności. Możesz określić warunki przechowywania lub dostępu do plików cookies w Twojej przeglądarce.