Skip to content

Licznik odwiedzin

This content is not available in your language yet.

Stworzysz Licznik odwiedzin - klasyczny element stron internetowych z lat 90-tych, który wrócił do łask jako narzedzie analityczne. Aplikacja zlicza każde wejscie na strone, zapisuje dane do pliku i wyświetla aktualna liczbe odwiedzin. W rozszerzonych wersjach możesz sledzic statystyki dzienne i unikalne wizyty.

Czego się nauczysz?

  • Pracy z plikami tekstowymi i JSON w PHP
  • Obsługi sesji do identyfikacji unikalnych użytkowników
  • Inkrementacji licznikow i atomowych operacji na plikach
  • Generowania prostych statystyk

W prawdziwej pracy...

Analityka webowa to fundament biznesu online. Choc dzis uzywamy narzedzi jak Google Analytics czy Plausible, zrozumienie jak działają liczniki i sesje pomaga w debugowaniu problemow, optymalizacji wydajnosci i tworzeniu własnych rozwiazan analitycznych zgodnych z RODO (bez zewnętrznych trackerow).

  1. Zliczanie odwiedzin Przy każdym wejsciu na strone licznik zwieksza się o 1 i zapisuje nowa wartość do pliku.

  2. Wyswietlanie licznika Aktualna liczba odwiedzin jest wyświetlana na stronie w czytelnej formie.

  3. Obsługa braku pliku Jeśli plik z licznikiem nie istnieje, aplikacja tworzy go automatycznie z wartoscia początkowa 1.

Wersja prosta (TXT):

1542

Wersja rozszerzona (JSON):

{
"total_visits": 1542,
"daily_stats": {
"2026-02-13": 45,
"2026-02-12": 52,
"2026-02-11": 38
},
"unique_visitors": 823,
"last_visit": "2026-02-13 16:45:00"
}

Wymagane funkcje:

  • Odczyt liczby odwiedzin z pliku TXT lub JSON
  • Zwiekszenie licznika o 1 przy każdym wejsciu
  • Zapis nowej wartości do pliku
  • Wyświetlenie licznika na stronie
  • Obsługa braku pliku (utworzenie nowego)
  • Prosty interfejs CSS

Przykładowy scenariusz:

Użytkownik wchodzi na strone i widzi “Liczba odwiedzin: 1542”. Po odswiezeniu strony liczba zmienia się na 1543. Przy pierwszym uruchomieniu (brak pliku) licznik startuje od 1.

Ocena: 3.0

Prosty licznik (plik TXT):

$file = 'counter.txt';
// Odczyt lub inicjalizacja
if (file_exists($file)) {
$count = (int)file_get_contents($file);
} else {
$count = 0;
}
// Inkrementacja i zapis
$count++;
file_put_contents($file, $count);
echo "Liczba odwiedzin: " . number_format($count, 0, ',', ' ');

Licznik dzienny (JSON):

$file = 'stats.json';
$today = date('Y-m-d');
$data = file_exists($file)
? json_decode(file_get_contents($file), true)
: ['total' => 0, 'daily' => []];
// Inkrementacja
$data['total']++;
$data['daily'][$today] = ($data['daily'][$today] ?? 0) + 1;
file_put_contents($file, json_encode($data, JSON_PRETTY_PRINT));

Unikalni użytkownicy (sesja):

session_start();
if (!isset($_SESSION['counted'])) {
$_SESSION['counted'] = true;
$data['unique_visitors']++;
}

Prosty wykres CSS:

$maxVisits = max($data['daily']);
foreach ($data['daily'] as $date => $visits) {
$height = ($visits / $maxVisits) * 100;
echo "<div class='bar' style='height: {$height}%' title='{$date}: {$visits}'></div>";
}

Wykorzystaj lekcje!

Cotygodniowe spotkania podczas lekcji to idealny moment, by:

  • Pokazac postepy - nawet małe kroki się licza
  • Wyjaśnić watpliwosci - pytaj, nie zgaduj
  • Skonsultowac rozwiązania - feedback pomoze Ci się rozwijac

Pracuj iteracyjnie - lepiej mieć działający wariant A niz niedokonczony C!