Php как сделать кто онлайн

Обучайтесь создавать сервис кто онлайн с помощью PHP. Узнайте как отследить посетителей вашего сайта с помощью сессий, как хранить данные и правильно оценивать результат. На примере приведены все шаги и коды для реализации проекта.

Сделать кто онлайн на PHP

В этом примере показано, как просто реализовать кто онлайн функционал на PHP. Для начала нам потребуется база данных с пользователями, которые авторизуются на сайте. Также нам нужно создать таблицу, в которой будут храниться данные о последней активности пользователей. Такая таблица будет иметь поля: ID, UserID, LastActivity.

Когда пользователь авторизуется на сайте, мы должны добавить запись в таблицу LastActivity. Для этого мы можем использовать следующий код:


$userID = $_SESSION['user_id'];
$lastActivity = date('Y-m-d H:i:s');

$sql = "INSERT INTO LastActivity (UserID, LastActivity) VALUES ('$userID', '$lastActivity')";
$result = mysqli_query($conn, $sql);

Данный код добавляет данные о последней активности пользователя в таблицу LastActivity. Теперь мы можем использовать эту таблицу, чтобы получить список пользователей, активных за последние N минут:


$timeLimit = date('Y-m-d H:i:s', strtotime('-30 minutes')); //30 minutes ago

$sql = "SELECT DISTINCT UserID FROM LastActivity WHERE LastActivity > '$timeLimit'";
$result = mysqli_query($conn, $sql);

$usersOnline = array();
while ($row = mysqli_fetch_assoc($result)) {
    array_push($usersOnline, $row['UserID']);
}

print_r($usersOnline);

В данном примере мы получаем список пользователей, активных за последние 30 минут. Мы можем увеличить или уменьшить временной промежуток, чтобы определить более или менее активных пользователей. На этом этапе мы получили список пользователей, активных за последние N минут. Теперь мы можем использовать этот список, чтобы показать пользователям страницы, что в данный момент онлайн другие пользователи. Например, мы можем вывести список пользователей, активных за последние N минут:


echo '<ul>';
foreach ($usersOnline as $userID) {
    $userInfo = getUserInfo($userID);
    echo '<li>'.$userInfo['first_name'].' '.$userInfo['last_name'].'</li>';
}
echo '</ul>';

В этом примере мы используем функцию getUserInfo(), чтобы получить информацию о пользователе по его ID. Таким образом, мы можем получить список пользователей, активных за последние N минут, и вывести их на странице. Это простой способ реализовать функционал кто онлайн на сайте на PHP.

Ответы (0)