Отслеживание момента ухода пользователя с сайта

Статус
В этой теме нельзя размещать новые ответы.

Despod

Новичок
Отслеживание момента ухода пользователя с сайта

Сообственно говоря нужно в момент того как пользователь ушел с сайта изменить некую информацию в его профиле (предположим его статус online/offline).

1) Как я понимаю самый простой способ это добавить кнопку выход, и повесить все на нее.
Но как правило, эту кнопку никогда и никто не нажимает.

2) Когда пользователь нажал крестик. Производиться событие unLoad и на него можно повесить то что нужно. Только как я понял, при обновлении страницы это событие тоже будет происходить, а это не хотелось бы.

3)Выход по таймауту. Сохранять каждый раз время посещения и спустя промежуток времяни выполнять нужное действие.

4)Хотелось бы узнать, что происходит в момент, когда в строке адреса пользователь набирает адрес другого сайта? Как этот момент отловить? И что произойдет если его комп просто выключиться?

Подскажите пожалуйсто, есть ли еще какие варианты. И еще по пункту 3. Хотелось бы узнать как заставить некий скрипт выполняться через определенные промежутки времяни, без внешнего воздействия человека.
 

Romantik

TeaM PHPClub
пройдись поиском по форуму. данная тема не раз обсуждалась.
 

WP

^_^
Храни в БД время последнего обращения, при нажатии на Выход обнуляй это значение. Если time()-поле_из_БД > 3*60, значит пеши исчез юзер, иначе - онлайн.
 

Despod

Новичок
Автор оригинала: WP
Храни в БД время последнего обращения, при нажатии на Выход обнуляй это значение. Если time()-поле_из_БД > 3*60, значит пеши исчез юзер, иначе - онлайн.
По кнопке это понятно, но ее не нажимают.

В поиске ничего хорошего не нашел. Только теорию.
как организовать таймаут и в какие моменты?
 

_vampiro_

Новичок
cron (тут поиск)
в кроне считывать из БД всех, у кого дата последнего обращения на "n" секунд раньше текущей, и проставлять им статус "оффлайн" (это можно сделать одним запросом, очень быстро)

Кроме теории в поиске не может быть конкретной реализации под твой проект. Добавь поле в БД "last_access" и будет тебе счастье ;)

-~{}~ 26.06.06 11:53:

"в кроне"... хых. В скрипте, который по крону запускатся будет, конечна-ж. Раз в 3 мин. достаточно.
 

WP

^_^
_vampiro_
Ты болен?
Despod
Кнопку не обязательно нажимать, она сама "нажмется" через 3*60 секунд после последнего запроса. Крон тут не нужен.
 

_vampiro_

Новичок
WP
а поделись, плз, технологией, которая позволит "в момент того как пользователь ушел с сайта изменить некую информацию в его профиле "(с) при этом не использующую крон?

-~{}~ 26.06.06 12:44:

не "рисовать на экране, что пользователь читает текст дольше трех минут", а "менять данные в БД", как того требуется.
 

Фанат

oncle terrible
Команда форума
_vampiro_
вот именно.
когда потребуется, а не по крону
 

HraKK

Мудак
Команда форума
когда происходит запрос на вывод юзер - онлайн тогда и проверять его статус.
 

WP

^_^
Тему надо в Юмор :)
_vampiro_
Реально, у тебя температура?
В рамках данной задачи: нужно в профиле показывать на сайте ли пользователь, единственно правильное решение я описал выше. Никакой другой инфы которую надо менять нет.
По твоему вопросу: зачем менять что-то "в момент того" когда пользователь вышел, что это даст? Какая разница что в БД будет лежать? При следующем запросе, можно и изменить.
 

_vampiro_

Новичок
WP
"Сообственно говоря нужно в момент того как пользователь ушел с сайта изменить некую информацию в его профиле"(с)
Это первая строка в вопросе. :)

откуда я знаю - что ему там надо менять? Может при уходе пользователей с сайта компании у него проставляется время ухода с работы?

Собственно, оффтоп всё это. Обе методы описаны-выбирать ему.
 

Фанат

oncle terrible
Команда форума
_vampiro_
вместо того, чтобы кидаться отвечать на первую строчку, надо дать человеку ссылку на фак на танке.
чтобы он был в курсе, что вообще такое "присутствие на сайте"
 

_vampiro_

Новичок
Фанат
Согласен :( Отсутствие опыта общения с нубами :(

*Записал в "заметки"*
 

Despod

Новичок
Кнопку не обязательно нажимать, она сама "нажмется" через 3*60 секунд после последнего запроса. Крон тут не нужен.
Пример кода можно в студию, как это кнопка нажметься.

-~{}~ 26.06.06 17:48:

Автор оригинала: Фанат
_vampiro_
вместо того, чтобы кидаться отвечать на первую строчку, надо дать человеку ссылку на фак на танке.
чтобы он был в курсе, что вообще такое "присутствие на сайте"
Я представляю что такое "присутствие на сайте", так что ваших факов мне не надо.
Посоветуйте лучше в какой момент делать таймаут.
 

Romantik

TeaM PHPClub
человек не любит читать, а ждет когда разжуют и в рот положат.
нет уж- будте так добры a ФАК и поиск.
тема закрыта!
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху