![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| Sun_ok |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 37 Регистрация: 4.9.2006 Репутация: нет Всего: нет |
Здравствуйте.
Есть страница пользователя, временные данные которого хранятся в базе, в кукисах или сесси не подходит, так-как это текст, который пользователь загружает с машины, и работает в нем на сайте, текст может быть временным и постоянным, и все интсрументы работают с базой, поэтому временный текст тоже заливаются в базу. Естественно после завершения работы текст из базы нужно удалять, хорошо если пользователь нажал Exit или сработал onbeforeunload в JS, но что делать если браузер закрылся критически ? Как можно отследить, есть ли связь с клиентом или уже нет ? |
|||
|
||||
| Ипатьев |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 28 Всего: 37 |
Это очень легко.
Прокручиваем свой скрипт вниз, и в последней строчке пишем echo "Связь с клиентом разоравана"; |
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 75 Всего: 260 |
а в таком случае не надо использовать ignore_user_abort?
|
|||
|
||||
| Pitlord |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 246 Регистрация: 31.10.2009 Репутация: 4 Всего: 7 |
Для таких целей нужно добавить в таблицу, содержащую временные данные, поле, хранящее timestamp создания строки. Позже неактуальные (устаревшие) данные удаляются.
Это сообщение отредактировал(а) Pitlord - 2.12.2009, 18:08 |
|||
|
||||
| Sun_ok |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 37 Регистрация: 4.9.2006 Репутация: нет Всего: нет |
Pitlord Да, похоже это наиболее нормальный вариант, кроном раз в день проверять да и все, но ignore_user_abort мне не дает покоя, не могу с ним разобраться.
skyboy Спасибо за "ignore_user_abort" буду копать. |
|||
|
||||
| Pitlord |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 246 Регистрация: 31.10.2009 Репутация: 4 Всего: 7 |
Зачем cron'ом? Чтобы не было недопониманий: что ты понимаешь под "связью с клиентом"? Процесс загрузки страницы или просто пребывание на сайте? |
|||
|
||||
| Sun_ok |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 37 Регистрация: 4.9.2006 Репутация: нет Всего: нет |
||||
|
||||
| Ипатьев |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 28 Всего: 37 |
||||
|
||||
| Sun_ok |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 37 Регистрация: 4.9.2006 Репутация: нет Всего: нет |
Вы правы, наверно нужно по другому сформулировать задачу. Человек зашел, запустилась сессия, человек вышел, через какой-то промежуток времени сессия закрылась, возможно ли запустить свой скрипт при закрытии сессии или проверять на ее существование ? |
|||
|
||||
| Pitlord |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 246 Регистрация: 31.10.2009 Репутация: 4 Всего: 7 |
||||
|
||||
| Sun_ok |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 37 Регистрация: 4.9.2006 Репутация: нет Всего: нет |
||||
|
||||
| Pitlord |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 246 Регистрация: 31.10.2009 Репутация: 4 Всего: 7 |
||||
|
||||
| Sun_ok |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 37 Регистрация: 4.9.2006 Репутация: нет Всего: нет |
Тут специфика, на сайт может заходить хоть 1000 человек, но не использовать свои данные, и 1000 раз пускать запрос на очистку пустой таблицы, как-то нецелесообразно, или допустим если запускать проверку от тех пользователей которые загрузили свой текст, тогда данные буду лежать пока следующий юзер не воспользуется этим сервисом.
Это сообщение отредактировал(а) Sun_ok - 2.12.2009, 22:25 |
|||
|
||||
| Pitlord |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 246 Регистрация: 31.10.2009 Репутация: 4 Всего: 7 |
Сделай timestamp общий для сайта, содержащий дату последней очистки. Если последняя очистка была давно — выполняй запрос и обновляй timestamp. Это сообщение отредактировал(а) Pitlord - 2.12.2009, 22:28 |
|||
|
||||
| Sun_ok |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 37 Регистрация: 4.9.2006 Репутация: нет Всего: нет |
||||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |