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
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?
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).
Zliczanie odwiedzin Przy każdym wejsciu na strone licznik zwieksza się o 1 i zapisuje nowa wartość do pliku.
Wyswietlanie licznika Aktualna liczba odwiedzin jest wyświetlana na stronie w czytelnej formie.
Obsługa braku pliku Jeśli plik z licznikiem nie istnieje, aplikacja tworzy go automatycznie z wartoscia początkowa 1.
Wersja prosta (TXT):
1542Wersja 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:
Przykładowy scenariusz:
Ocena: 3.0Uż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.
Wszystko z wariantu A, plus:
Przykładowy scenariusz:
Ocena: 4.0-5.0Użytkownik widzi: “Odwiedziny dzis: 45 | Wczoraj: 52 | Łącznie: 1542”. Liczby sa sformatowane z separatorem tysiecy. Po północy licznik dzienny resetuje się automatycznie.
Wszystko z wariantu B, plus:
Przykładowy scenariusz:
Ocena: 5.0-6.0Strona pokazuje wykres słupkowy z odwiedzinami z ostatnich 7 dni. Użytkownik widzi: “Unikalni użytkownicy: 823 | Srednia dzienna: 42”. Administrator może wyeksportowac statystyki do CSV. Ponowne odswiezenie przez tego samego użytkownika nie zwieksza licznika unikalnych (sesja).
Prosty licznik (plik TXT):
$file = 'counter.txt';
// Odczyt lub inicjalizacjaif (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:
Pracuj iteracyjnie - lepiej mieć działający wariant A niz niedokonczony C!