PHP скрипт показывающий кто сейчас онлайн, скрипт для вывода кто онлайн для сайта
Автор: © web-rubik
2211 Просмотры
10 Понравилось
Небольшой PHP код позволяющий вывести, кто находится онлайн из авторизированных пользователей.
Для начала сам код:
<?php // Вставить перед началом HTML кода на все страницы сайта $tim = date(′Y-m-d H:i:s′); // Дата и время $query = mysql_query("UPDATE users SET online=′$tim′ WHERE id=′$id′"); // Записываем время перехода пользователя ?> <?php // Вставить в то место, где нужно вывести кто онлайн $time = date(′Y-m-d H:i:s′, time() - 60 * 5); // Дата и время + 60 секунд mysql_select_db($database_users, $db); // Выбираем данные из таблицы users $query_online = "SELECT * FROM users WHERE online > ′$time′"; // Ищем тех у кого запись посищения не меньше 60 секунд $online = mysql_query($query_online, $db) or die(mysql_error()); $row_online = mysql_fetch_assoc($online); $totalRows_online = mysql_num_rows($online); do { echo $row_online[′name′]; } // Выводим кто онлайн while ($row_online = mysql_fetch_assoc($online)); ?>
Довольно часто на многих сайтах мы встречаемся с выводом пользователей, которые находятся онлайн на сайте. Но как это работает, известно далеко не каждому, зато для пользователей это довольно удобная вещь.
Давайте разберемся, как записать кто сейчас онлайн..
В моём примере нам понадобится одно дополнительное поле в таблице с зарегистрированными пользователями, с названием – online. В него будет записываться время, в которое он осуществлял какое-нибудь действие на сайте.
$query = mysql_query("UPDATE users SET online=′$tim′ WHERE id=$id");
Данная строчка осуществляет запись только у авторизированных пользователей, но при необходимости можно осуществлять запись по ip адресу пользователя. Естественно запись должна осуществляться на всех страницах доступных пользователю.
Теперь давайте разберёмся с выводом кто сейчас онлайн..
Возьмём действующее время и прибавим к нему, к примеру - 60 секунд.
$time = date(′Y-m-d H:i:s′, time() - 60 * 5);
Это примерное время между выполнением пользователем действий или переходами на другие страницы сайта. Время можно указать больше, в зависимости от содержания и направлении сайта. Допустим в СОЦ-сети VK оно равно 1.5 минуты.
В заключении поставим условие, для вывода в динамике всех пользователей, кто сделал какое-нибудь действие не позднее 60 секунд.
$query_online = "SELECT * FROM users WHERE online > ′$time′";
Теперь вы знаете, как осуществить систему – кто сейчас онлайн, у себя на сайте.
На этом у меня всё, если что-то непонятно, пишите в комментариях!
Комментариев нет или
Оставить комментарий
Оставленные комментарии проверяются технической частью интернет портала Web-rubik.ru