В общем, мне нужно было сделать список пользователей, которые на данный момент на сайте, движок у меня свой. Но я сюда пришёл не с пустыми руками, у меня есть примерный алгоритм, но правильный ли он или нет, это я хотел бы узнать у вас, уважаемые мастера.
В общем так:
Я создаю таблицу с полями: id, timein, timeoff, userid (timein - время входа; timeoff - время выхода). В обработчик формы входа, я вставлю запрос к этой таблице (то есть, если пользователь прошёл форму входа, об этом отправляется запрос к таблице), эта запись хранится в базе до тех пор, пока пользователь не захочет выйти с сайта, или же он закроет вкладку или же нажмёт кнопку Выход. После чего, идёт запрос к таблице на удаление этой записи.
Заранее благодарю за советы!
С уважением, nikita3334!
Спустя 2 минуты, 52 секунды (20.03.2011 - 14:03) Семён написал(а):
Пускай таблица так и будет.
Только на стороне браузера, стоило бы ещё сделать js скрипт, который по timeout-у отсылал запросы, мол я активен и пока сижу на сайте.
Только на стороне браузера, стоило бы ещё сделать js скрипт, который по timeout-у отсылал запросы, мол я активен и пока сижу на сайте.
Спустя 1 минута, 48 секунд (20.03.2011 - 14:05) nikita3334 написал(а):
Цитата |
Только на стороне браузера, стоило бы ещё сделать js скрипт, который по timeout-у отсылал запросы, мол я активен и пока сижу на сайте. |
Вы имеете в виду отправлять запрос, например, каждую минуту? Я правильно вас понял?
Спустя 7 минут, 53 секунды (20.03.2011 - 14:13) inpost написал(а):
nikita3334
Можно и так, а проверять: был ли он активен последние 15 минут, если да - то в сети, если нет - офф-лайн.
Можно и так, а проверять: был ли он активен последние 15 минут, если да - то в сети, если нет - офф-лайн.
Спустя 1 минута, 40 секунд (20.03.2011 - 14:15) nikita3334 написал(а):
Цитата |
nikita3334 Можно и так, а проверять: был ли он активен последние 15 минут, если да - то в сети, если нет - офф-лайн. |
Ммм... большое спасибо за совет, возьму это на заметку. Но всё ещё жду советов, какой вариант всё же лучше, чтобы и базу не нагружать запросами, ведь помимо этого, у меня есть ещё таблицы, на которые нужно делать тоже запросы и выводить результат.
Спустя 26 минут, 27 секунд (20.03.2011 - 14:41) inpost написал(а):
nikita3334
Так не каждую же секунду тягать количество он-лайна. Формируешь кеш-результат. Если ты по минутам сравниваешь, то кроном раз в минуту формируешь список и количество он-лайн за последние 15 минут. И это лучший из вариантов.
Так не каждую же секунду тягать количество он-лайна. Формируешь кеш-результат. Если ты по минутам сравниваешь, то кроном раз в минуту формируешь список и количество он-лайн за последние 15 минут. И это лучший из вариантов.