Запуск скрипта по событию закрытия браузера: это возможно?

Sardonix

Новичок
...kruglov, ты имеешь в виду, что при обновлении - скажем -списка юзеров, в базе для этого юзера должна появляться точная дата обновления? - допустим.
...но вот юзер закрыл браузер и ушел, а дата последнего обновления им страницы осталась - я не врубаюсь, что с ней делать? с чем ёё - эту дату - сравнивать?
 

kruglov

Новичок
Sardonix
происходит оюновление фрейма обяв - работает фрейм, который в базу ничего не вводит, а только читает из нее...
И что мешает параллельно обновлять ему время последней активности?

-~{}~ 18.11.05 12:43:

Что делать, сравнивать с now()
Если больше, скажем, 5 минут - отрубаем
 

Sardonix

Новичок
...люди, пожалста, не сердитесь на моё тугоумие - я не из вредности, я правда разобраться хочу...

-~{}~ 18.11.05 16:52:

...но для того, чтобы сравнить с NOW(), нужно, чтобы скрипт был кем-нибудь запущен - он сравнит для всех пользователей последнее значение обновления списка пользователей - это у нас будет меткой присутствия - и сравнит это значение с NOW()... ...а что делать, если этот пользователь единственный (скажем. последний оставшийся в чате) - кто запустит скрипт ?
 

SiMM

Новичок
> а что делать, если этот пользователь единственный (скажем. последний оставшийся в чате) - кто запустит скрипт ?
Ничего. Кого волнует, что у тебя в чате якобы кто-то есть, если никто эту информацию не просматривает?
 

Sardonix

Новичок
...так ведь флаг-то в базе останется - что мне с ним делать!!!
... :( ...
 

SiMM

Новичок
Ничего. Да и вообще - кому он нафиг нужен, когда у тебя есть last_update?
 

kruglov

Новичок
Sardonix
Флаг останется до первого посетителя.

Но если очень хочется - cron
 

Sardonix

Новичок
...типа, пусть будет, а когда любой пользователь залогится - он запустит скрипт, который проверит последнюю дату обновления окна пользователей с NOW() и подчистит все ненужные флаги?

-~{}~ 18.11.05 17:09:

...Боже, с каким трудом до меня всё доходит...
 

neonet

Новичок
почему бы тебе вместо того чтоб занимать в базе место под флаг, занять этоже место под сессию.. и если сессия isset() тогда пользователь онлайн...
 

zap

Guest
to neonet
какой умный человек! а ты подумал про ситуацию что допустип мою сессию ты не смогешь проверить на isset(и вообще затея г, если честно)?
 

440hz

php.ru
zap
мне кажется, что все уже уходит по смыслу. все, что человеку надо это отключить не активных пользователей. разумное решение не ловить "факт закрытия броузера", а отключать по таймауту. Например через 15 минут не активности. для этого нафиг убираем все флаги. запоминаем last_update, и показываем только тех юзеров, у которых разница между этой датой и текущей меньше 15 минут (значит они сидят в чате).

Если челове не активен 15 минут - значит ему надо перелогинится и это уже его проблемы. Для особо извращенных можно дать возможность человеку управлять этим таймаутом. Но механизм останется тот же.

и нефиг извращаться ...
 

zap

Guest
вообще я сделал по своему и считаю это правильно что не раз обсуждали!

сделал я так, если человек активен, значит он порождает какоето действие, действие фиксируется в сессии, сессия хранится в базе, в базе есть поле нечто похожее на last_time_stamp, в котором хранится время его последнего действия!

думаю есть смысл сделать что-то подобное
 
Сверху