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

Sardonix

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

Sardonix

Новичок
...ё-моё, вот я туплю - ну, ясный пень - это не функции PHP, а просто возможные названия солбца для МОЕЙ ЖЕ таблицы пользователей: разные названия - разный контекст...
...да-а-а-а-а... ...правда, туплю...

-~{}~ 18.11.05 15:36:

...sage, спасибо за ссылку...
 

440hz

php.ru
Автор оригинала: Sardonix
...ты не дашь мне ссылочку на инфу, где описано, как из JS-скрипта запустить PHP-скрипт?
tmpimg = new Image();
tmpimg.src='my.php?a=b';
// произойдет вызов скрипта без перезагрузки страницы.
 

Sardonix

Новичок
Автор оригинала: 440hz
tmpimg = new Image();
tmpimg.src='my.php?a=b';
// произойдет вызов скрипта без перезагрузки страницы.
...спасибо большое, это всё очень хорошо, но мне нужно несколько не это - мне нужно запускать PHP-скрипт при закрытии окна браузера...
 

440hz

php.ru
Sardonix
события закрытия тебе сказали. как запустить скрипт я сказал то же. остается только это сложить и получить 4.
 

Sardonix

Новичок
...просто я пердполагал событие закрытие окна обрабатывать JS-скриптом...
 

440hz

php.ru
Positive
я сказал идею.
можно и так
img = GetEl('hiddenimage');
img.src='my.php';

ну и вешаешь где нить пиксел 1х1 в скритом диве.
 

440hz

php.ru
Автор оригинала: Sardonix
...просто я пердполагал событие закрытие окна обрабатывать JS-скриптом...
про то и разговор. ловишь событие. и в JS выполняешь то, что я сказал. в итоге запуститься PHP скрипт.

-~{}~ 18.11.05 12:09:

Sardonix
ИМХО это все равно извращение. лучше по истечении времени прямо в базе дисаблить, о чем тебя уже просветили.
 

Dio

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

440hz

php.ru
Dio
приавильно. нефиг извращаться. если активности пользователя нет какой-то период - значит его и нет.
 

Sardonix

Новичок
Автор оригинала: 440hz
про то и разговор. ловишь событие. и в JS выполняешь то, что я сказал. в итоге запуститься PHP скрипт.

-~{}~ 18.11.05 12:09:

Sardonix
ИМХО это все равно извращение. лучше по истечении времени прямо в базе дисаблить, о чем тебя уже просветили.
...я не думаю, что убивать флаг по событию закрытия окна - извращение: допустим, время жизни флага 30 мин., пользователь некорректно вышел, а потом - скажем ч/з 10 мин. ,т.е., до истечения времени жизни флага - снова лезет логиться - придется проверять наличие флага в базе, а нафига, если его можно железно кокнуть при закрытии браузера...
...правда есть риск, что юзер отключил поддержку Явы, но вот уже именно это уже как раз извращение...
 

440hz

php.ru
Sardonix
не флаг, а дату последней активности. о чем тебе внятно объяснили. а флаги по анализу этого поля взводи какие хошь.
 

kruglov

Новичок
Ну, вы притворяетесь или в самом деле?

Ясен пень, вручную перегружать страницы чата нужно было последний раз на lynxах или emacsах образца 1995 года...

Я имел в виду не время последнего сообщения, а последнего обновления (запроса) браузером информации с чата.
 

Sardonix

Новичок
...вот она, проблема форума - стороны не понимают друг друга:
опишу работу чата, чтобы стало понятно всем учасникам беседы...
...имеется 2 фрейма - в первом объявы - чобственно чат, - во втором список пользователей...
...при отправке юзером объявы она сначала добавляется в базу, а потом из базы считываются все обявы - общее количество хранимых в базе обяв=50: при приходе 51-ой первая стирается - т.е., база играет роль буфера...
...если юзер просто сидит и объяв не вводит, то, чтобы этот самый юзер мог видеть обявы других юзеров, происходит оюновление фрейма обяв - работает фрейм, который в базу ничего не вводит, а только читает из нее...
...всё время, пока юзер в залогинен в чате, существует его флаг в базе - этот флаг используется скриптом, который формирует список активных юзеров и передает этот список в соответствующий фрейм...
...данный скрипт срабатывает каждые 20 сек. - для поддержания актуального списка on-line юзеров...
...при разрегистрации (корректной) запускается скрипт, который удаляет флаг активности и => скрипт, формирующий список on-line юзеров не будет больше выгружеть имя разлогиневшегося пользователя...
...а вот если юзер вышел некорректно - этот флаг не удаляется...
 

SiMM

Новичок
> ...а вот если юзер вышел некорректно - этот флаг не удаляется...
Ну так тебе и талдычут уже сколько времени о том, что его надо удалять по таймауту, а не ждать у моря погоды, ожидая прихода события "браузер закрыли" - юзверь может просто модем из розетки вытащить, даже не закрывая браузера.
 
Сверху