Здесь можно найти всё что Вам нужно! ⇒

Почта techsupport@web-rubik.ru

PHP скрипт показывающий кто сейчас онлайн, скрипт для вывода кто онлайн для сайта

Автор: © barik


Небольшой 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′";



Теперь вы знаете, как осуществить систему – кто сейчас онлайн, у себя на сайте.
На этом у меня всё, если что-то непонятно, пишите в комментариях!

Понравился материал 6 Vote Up!



Комментариев нет или


Оставить комментарий

Оставленные комментарии проверяются технической частью интернет портала Web-rubik.ru



←−−−