PHP/MySQL | Реализация статуса онлайн
Всем привет
Как реализовать на сайте статус онлайна. Особенно интересует как определять бездействия пользователя
Как реализовать на сайте статус онлайна. Особенно интересует как определять бездействия пользователя
Колнпка в бд и каждый клик обновляй её тайм
d1nka, это в принципе понятно а вот определять бездействие пользователя. Допустим допустим пользователь нечего не делал 15 минут ему выводит статус оффлайн. Не будет такого что пользователь онлайн а ему выдает что он оффлайн?
MAXI BENZ, да что то на подобие этого

DELETED
28 декабря 2018, в 23:57
Delete
Например time()+600 это 10 минут.
Когда они истекут, а юзер не обновил страницу он будет оффлайн и в времени последнего захода можно отобразить ту самую колонку.
Loading...,
Онлайн:<?=$online;?>
$online = mysql_num_rows( mysql_query('SELECT * FROM `юзеры` WHERE `online` > '.( time() - (3600*4) ).'') );
Онлайн:<?=$online;?>
Loading... (28.12.2018 в 23:53)
d1nka, это в принципе понятно а вот определять бездействие пользователя. Допустим допустим пользователь нечего не делал 15 минут ему выводит статус оффлайн. Не будет такого что пользователь онлайн а ему выдает что он оффлайн?
d1nka, это в принципе понятно а вот определять бездействие пользователя. Допустим допустим пользователь нечего не делал 15 минут ему выводит статус оффлайн. Не будет такого что пользователь онлайн а ему выдает что он оффлайн?
Ты ответил на свой вопрос свом же вопросом
terad1m, Я сделал что бы при обновлении страницы строка в БД обновлялась и сделал проверку
Но теперь проблема в том что выводит всем пользователям статус онлайн
if($user['data_last'] <= time()-600){
echo "<font color='green'>Онлайн</font>";
}else{
echo "<font color='red'>Оффлайн</font>";
}
Но теперь проблема в том что выводит всем пользователям статус онлайн
PhP_Fucker (28.12.2018 в 23:58)
Loading...,
Онлайн:<?=$online;?>
Loading...,
$online = mysql_num_rows( mysql_query('SELECT * FROM `юзеры` WHERE `online` > '.( time() - (3600*4) ).'') );
Онлайн:<?=$online;?>
Лучше заменить константой время, если пишем в поцедурке.
<?
define('ONLINE', '3600*4');
$online = mysql_num_rows( mysql_query('SELECT * FROM `юзеры` WHERE `online` > '.( time() - (ONLINE) ).'') );
Онлайн:<?=$online;?>
________
посл. ред. 29.12.2018 в 00:13; всего 1 раз(а); by TuT
Стр.: 1, 2