|
0 / 0 / 0
Регистрация: 03.06.2015
Сообщений: 135
|
||||||
Как удалять неактивных в течении 20 минут пользователей на сайте? (статистика сайта)23.06.2015, 22:30. Показов 2018. Ответов 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% в течении нескольких минут Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|