Skrypt który da mi informację o liczbie aktualnie (online) użytkowników przeglądających stronę.

Aby stworzyć prosty skrypt do śledzenia liczby aktualnie online użytkowników przeglądających stronę, można wykorzystać technologię JavaScript oraz backend w PHP. W tej instrukcji pokażę, jak to zrobić.

1. Tworzenie tabeli w bazie danych

Najpierw musisz stworzyć tabelę w bazie danych, aby przechowywać informacje o aktywnych użytkownikach. Oto przykładowe zapytanie SQL do stworzenia takiej tabeli:

CREATE TABLE online_users (
    id INT AUTO_INCREMENT PRIMARY KEY,
    session_id VARCHAR(255) NOT NULL,
    last_activity DATETIME NOT NULL
);

2. Skrypt PHP

Następnie utwórz plik PHP (np. track_online_users.php), który będzie odpowiedzialny za aktualizację tabeli oraz zwracanie liczby aktualnie online użytkowników.

<?php
$host = 'localhost'; // adres serwera
$db = 'nazwa_bazy'; // nazwa bazy danych
$user = 'użytkownik'; // użytkownik bazy danych
$pass = 'hasło'; // hasło do bazy danych

// Połączenie z bazą danych
$conn = new mysqli($host, $user, $pass, $db);

// Sprawdzenie połączenia
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

// Ustawienie strefy czasowej
date_default_timezone_set('Europe/Warsaw');

// Sprawdzanie i aktualizacja sesji
$session_id = session_id();
$current_time = date('Y-m-d H:i:s');

// Usunięcie użytkowników, którzy są offline dłużej niż 5 minut
$expire_time = date('Y-m-d H:i:s', strtotime('-5 minutes'));
$conn->query("DELETE FROM online_users WHERE last_activity < '$expire_time'");

// Dodanie/aktualizacja aktywnego użytkownika
$conn->query("INSERT INTO online_users (session_id, last_activity) VALUES ('$session_id', '$current_time')
ON DUPLICATE KEY UPDATE last_activity = '$current_time'");

// Liczenie aktualnie online użytkowników
$result = $conn->query("SELECT COUNT(*) as count FROM online_users");
$row = $result->fetch_assoc();
echo $row['count'];

$conn->close();
?>

3. Skrypt JavaScript

Aby zaktualizować liczbę użytkowników online bez przeładowania strony, możesz użyć JavaScript (np. z wykorzystaniem AJAX). Dodaj poniższy kod JavaScript do swojej strony HTML:

<script>
function updateOnlineUsers() {
    fetch('track_online_users.php')
        .then(response => response.text())
        .then(data => {
            document.getElementById('online-users-count').innerText = data;
        })
        .catch(error => console.error('Error:', error));
}

// Aktualizuj co 30 sekund
setInterval(updateOnlineUsers, 30000);
updateOnlineUsers(); // Pierwsze wywołanie
</script>

4. Wyświetlanie liczby użytkowników

Dodaj element HTML, w którym będziesz wyświetlać liczbę aktualnie online użytkowników:

<div>
    Aktualnie online użytkowników: <span id="online-users-count">0</span>
</div>

5. Wymagania

  • Upewnij się, że masz zainstalowany serwer PHP i bazę danych (np. MySQL).
  • Skonfiguruj połączenie do bazy danych, podając odpowiednie dane w skrypcie PHP.

6. Testowanie

Po wykonaniu powyższych kroków otwórz stronę w przeglądarce. Liczba użytkowników online powinna być aktualizowana co 30 sekund.

To podejście jest podstawowe i można je rozwijać, na przykład dodając mechanizmy sesji czy bardziej zaawansowane zarządzanie użytkownikami.

Szukasz taniego i dobrego hostingu dla swojej strony www? - Sprawdź Seohost.pl