|
0 / 0 / 0
Регистрация: 03.06.2015
Сообщений: 135
|
||||||
Как удалять неактивных в течении 20 минут пользователей на сайте? (статистика сайта)23.06.2015, 22:30. Показов 1995. Ответов 19
Метки нет (Все метки)
Доброго времени суток всем кто читает эту тему!
Я написал скрипт отображения пользователей онлайн на сайте. При входе пользователь записывается в БД в таблицу `session` и я получаю информацию, что он онлайн. Также для гостей, с выводом их ip в БД. Но теперь назрел вопрос, ведь в БД мы записываем, если пользователь закрывает сайт и не выходит с него нам нужно удалять его из БД. Я хочу сделать, чтобы, если пользователь(гость) не активен на сайте в течении 20 минут, то нужно удалять запись из БД о нем. Как я могу это сделать? В БД есть время входа. и оно обновляется при переходе на каждую страничку.
Добавлено через 3 часа 2 минуты Неужели никто не знает?
0
|
||||||
| 23.06.2015, 22:30 | |
|
Ответы с готовыми решениями:
19
Индексация страницы сайта в течении нескольких минут!!!!! Статистика пользователей - как идентифицировать пользователей с одинаковыми именами Как узнать ID в контакте. (за ответ в течении 30 минут дам 2 плюсика) |
|
203 / 152 / 44
Регистрация: 24.11.2013
Сообщений: 1,106
|
|
| 23.06.2015, 22:35 | |
|
Admiral2014, так вопрос в чем?
Добавлено через 57 секунд как вариант каждую 5 минут запрашиваем время последней активности и сверяем с нынешним временем. Если больше или равно 20 то удаляем его
0
|
|
|
0 / 0 / 0
Регистрация: 03.06.2015
Сообщений: 135
|
|
| 23.06.2015, 22:42 [ТС] | |
|
"DELETE FROM `session` WHERE `putdate`(таблица в которую записывается время активности) < NOW() - INTERVAL '1' MINUTE"
Такой запрос?
0
|
|
|
203 / 152 / 44
Регистрация: 24.11.2013
Сообщений: 1,106
|
|
| 23.06.2015, 22:43 | |
|
Admiral2014, а нельзя сперва брать значения из бд, через php его проверять, а потом по необходимости удалять?
0
|
|
|
8 / 8 / 5
Регистрация: 28.03.2014
Сообщений: 137
|
|
| 23.06.2015, 23:15 | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 03.06.2015
Сообщений: 135
|
||||||
| 24.06.2015, 16:44 [ТС] | ||||||
|
Не понимаю как проверить время в putdate с тем, что сейчас.
Нужно чтобы каждую минуту на сервер приходил запрос, если пользователь ничего не делает на сайте, то удалять записьи из базы и также выходить из профиля. Добавлено через 2 часа 34 минуты Задача состоит в следующем: Проверять каждую минуту(или каждые 5 минут) активность пользователей. Сейчас при переходе по сайту идет следующее: 1) Если нет записи в таблицы(пользователь первый раз зашел) мы добавляем запись в нужной форме. После перехода по любым страницам мы обновляем запись в базе следующим образом:
2) Если пользователь вошел на сайт(авторизировался) мы обновляем его ник и все параметры тем же образом. Так вот, записи обновляются, но когда пользователь уходит с сайта или не использует его в течении 20 минут мне нужно, чтобы запись о его нахождении на сайте удалялась из таблицы БД, тем самым доводя до администратора, что пользователь ушел с сайта. Просьба подсказать, какими проверками этого можно добиться. ________________________________________ _______________________ Также мне нужно, чтобы, если пользователь авторизирован и не активен на сайте в течении 20 минут он автоматически покидал сайт(срабатывал выход).
0
|
||||||
|
203 / 152 / 44
Регистрация: 24.11.2013
Сообщений: 1,106
|
|
| 24.06.2015, 17:16 | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 03.06.2015
Сообщений: 135
|
||
| 24.06.2015, 19:51 [ТС] | ||
|
Где задавать эту проверку? если написать то, что я писал выше mysql запрос - он не работает, видимо потому, что скрипт срабатывает только когда заходишь на станичку каку-либо, а нам как раз этого не нужно. Добавлено через 2 часа 25 минут ап.. неужели нет знающих людей? просто нужен правильный метод, который применяют на нормальных сайтах. Например PayPal вообще как-то подгружает страничку и спрашивает "Вы все еще используете сайт?" и предлагает остаться.. Мне хотя бы чтобы просто выходил из профиля на страницу входа.
0
|
||
|
48 / 43 / 6
Регистрация: 09.06.2012
Сообщений: 152
|
|
| 24.06.2015, 20:08 | |
|
А на крон есть возможность повесить?
0
|
|
|
0 / 0 / 0
Регистрация: 03.06.2015
Сообщений: 135
|
|
| 24.06.2015, 20:10 [ТС] | |
|
вопрос что такое крон)?
0
|
|
|
48 / 43 / 6
Регистрация: 09.06.2012
Сообщений: 152
|
|
| 24.06.2015, 20:17 | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 03.06.2015
Сообщений: 135
|
|
| 24.06.2015, 20:59 [ТС] | |
|
Думаю это не лучшее решение. Жду других правильных решений этой задачи.
0
|
|
|
48 / 43 / 6
Регистрация: 09.06.2012
Сообщений: 152
|
||
| 24.06.2015, 21:17 | ||
1
|
||
|
0 / 0 / 0
Регистрация: 03.06.2015
Сообщений: 135
|
|
| 25.06.2015, 10:50 [ТС] | |
|
с ajax не знаком, поэтому на крайний случай, не обязательно message. Это как пример привел. Просто нужно чтобы выходило из профиля. Использовалась ф-ция logout
Добавлено через 13 часов 31 минуту ап.. форумчане помогайте)
0
|
|
|
48 / 43 / 6
Регистрация: 09.06.2012
Сообщений: 152
|
||||||
| 25.06.2015, 13:22 | ||||||
|
Примерно так можно реализовать. Подключать скрипт в условии если пользователь авторизован.
1
|
||||||
|
0 / 0 / 0
Регистрация: 03.06.2015
Сообщений: 135
|
|
| 25.06.2015, 21:07 [ТС] | |
|
Спасибо, я понял вашу идею, где бы я мог ознакомится с ф-циями ajax?
Пишу код через brackets, и например откуда мне знать, что у ajax есть функция с именем setTimeout, а не setTimeoutdweefod. Может есть какие-то расширения, чтобы при написании кода появлялось помощь(список ф-ций) как в c++ когда писал помню там список и можно было пролистать и посмотреть все значения ф-ции, что она делает, аргументы. Тут же такого не вижу поэтому даже не могу представить как писать .Добавлено через 2 часа 27 минут Для того, чтобы научится азам ajax начал смотреть видео уроки.. сделал все как там и получил 0 результата. Вот код:pastebin В чем проблема? почему он не работает? Что я не сделал. Библиотеку подключил.
0
|
|
| 25.06.2015, 23:11 | |||||||||||
|
Не по теме: также, когда-то была (или все еще?) распространена конфигурация nginx proxy+apache backend, часто на бекенд реальный ип поступает в заголовке X-Forwarded-For, т.е. переменная $_SERVER['HTTP_X_FORWARDED_FOR'], либо X-Real-IP, либо что-то в этом духе. Зависит от настроек сервера и дело не столько в том, что эти данные просто представляют мусорный трафик: они представляют собой вредный трафик, если сервер на них полагается. Любой клиент сможет сказать, что у него другой ip, и пользователя другого подставить, в итоге, сделать такую штуку, что как будто бы на сайте в любой момент находится огромное количество пользователей, что, потенциально, может привести к DoS-у.
Не по теме: на вскидку, конкретно в этом участке кода я их не заметил, однако интерпретатор распознает такие ошибки гораздо лучше меня Впрочем, разумеется, эта возможность вам никак не поможет, если вы не знаете самого языка. Это аналогично c++ -- никакой редактор и/или ide за вас программу не напишет По поводу же первоначально поставленного запроса: это обычная задача сборки мусора. в пхп, как в stateless-инфраструктуре нельзя эту задачу решить эффективно. Действительно, как вам посоветовал At0m1c, проще и дешевле всего повесить эту задачу на крон или на какую-нибудь мини-программу, например на том же c++, который время от времени будет запускать некий скрипт (этот скрипт может быть написан и на php, в том числе), если, конечно, сервер предоставляет такую возможность. В противном случае вам придется выполнять этот код по удалению давно не заходивших пользователей при каждом запросе, либо добавлять состояние (например, время или количество запросов), которое будет проверяться относительно быстро, и если это состояние удовлетворяет неким условиям (с момента предыдущего запуска сего удалятора прошло более 200 запросов, или больше 20ти минут, например), тогда запускать ваш относительно тяжелый запрос в базу. Ну, соответственно, если не удовлетворяет -- то оставить все как есть. А вообще, по джаваскрипту есть довольно неплохой справочник, как ни странно, называется http://javascript.ru/ Раздел по ajax-у там тоже есть: http://javascript.ru/ajax . Алсо, библиотека, которую вы использовали (тот самый значок $ и его методы ajax, bind, и прочее) называется jquery. По ней тоже можете почитать что-то, если собираетесь использовать ее в дальнейшем. Например, http://anton.shevchuk.name/jquery/
0
|
|||||||||||
|
48 / 43 / 6
Регистрация: 09.06.2012
Сообщений: 152
|
||
| 26.06.2015, 00:40 | ||
|
Да, поторопился и допустил грубую ошибку передавая данные пользователя открыто. Их определить можно в handler.php
0
|
||
|
0 / 0 / 0
Регистрация: 03.06.2015
Сообщений: 135
|
|
| 26.06.2015, 15:42 [ТС] | |
|
Вот что выводит в консоль: XHR finished loading: POST "http://unlock.webit-expert.com/handlers.php".
Добавлено через 2 часа 56 минут Код поправил, теперь работает, но по прежнему в консоли: XHR finished loading: POST "http://unlock.webit-expert.com/handlers.php". и именно когда файл загружается
0
|
|
|
48 / 43 / 6
Регистрация: 09.06.2012
Сообщений: 152
|
|
| 26.06.2015, 16:12 | |
|
0
|
|
| 26.06.2015, 16:12 | |
|
Помогаю со студенческими работами здесь
20
Статистика пользователей: показывать, сколько пользователей работают сейчас в программе Как безопасно удалять БД и пользователей при клике на ссылку?
Есть допустить писать тегами для пользователей (как виз.редактор), что нужно удалять и как? Windows 8.1, загрузка ссд на 100% в течении нескольких минут Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение.
И на уровне агентов добавится между грибами или бактериями взаимодействий.
До того я пробовал подход через многомерные массивы,. . .
|
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Сочетание глобально распределённой вычислительной мощности и инновационных. . .
|
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Налог на собак: https:/ / **********/ gallery/ V06K53e
Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf
Пост отсюда. . .
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop?
Ниже её машинный перевод.
После долгих разбирательств я наконец-то вернула себе. . .
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод
Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод.
Thinkpad X220 Tablet —. . .
|
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|