[PHP] Aktualna liczba osób na stronie, czyli licznik online
W tym wpisie stworzymy prosty licznik osób online oparty na bazie danych.
<?php
$host = 'localhost';
$db = 'users_online';
$user = 'username';
$pass = 'password';
try {
$pdo = new PDO('mysql:host=$host;dbname=$db;charset=utf8' , $user, $pass);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$ipAddress = $_SERVER['REMOTE_ADDR'];
$entryTime = date('Y-m-d H:i:s');
// Dodajemy nowego użytkownika lub aktualizacja czasu wejścia
$sth = $pdo->prepare('INSERT INTO online_users (ip_address, entry_time) VALUES (?, ?) ON DUPLICATE KEY UPDATE entry_time = ?');
$sth->execute([$ipAddress, $entryTime, $entryTime]);
// Sprawdzamy, którzy użytkownicy są online
$currentTime = date('Y-m-d H:i:s');
$sth = $pdo->prepare('SELECT ip_address FROM online_users WHERE entry_time > DATE_SUB(?, INTERVAL 5 MINUTE)');
$sth->execute([$currentTime]);
$users_online = count($sth->fetchAll(PDO::FETCH_ASSOC));
}
catch(PDOException $e) {
echo 'Błąd: ' . $e->getMessage();
}
Nastepnie możemy wyświetlić liczbę użytkowników online:
<?php
echo $users_online;
Komentarze
Prześlij komentarz
Dzięki za komentarz!