![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
Reptor |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1213 Регистрация: 29.12.2004 Репутация: 0 Всего: 0 |
Например есть поле в БД которое при входе устанавливаеться "1".
А как сделать так что когда мы закрываем окно (страницку) тоесть при выходе БД менялась - тоесть это поле устанавливалось в "0" |
|||
|
||||
Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
Никак...
А что ты сделать пытаешься? |
|||
|
||||
Reptor |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1213 Регистрация: 29.12.2004 Репутация: 0 Всего: 0 |
Мне надо если человек зашёл на страничку то поле в БД установилось в 1 (естественно только 1 строка которая ему соответствует). И когда он выходит мне надо в БД отметить что его уже нету тоесть это 1 заменить на 0
|
|||
|
||||
Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
С помощью PHP нельзя определить, когда человек вышел со страницы.
Если ты хочешь сделать систему On-Line пользователей или авторизацию, то делается это другими способами. Тут на форуме это уже наверняка обсуждалось. |
|||
|
||||
Reptor |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1213 Регистрация: 29.12.2004 Репутация: 0 Всего: 0 |
А что на <BODY> какогото unloadнет или чего небудь в этом роде?
|
|||
|
||||
Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
Не путай. Есть клиентские технологии, а есть серверные.
|
|||
|
||||
Reptor |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1213 Регистрация: 29.12.2004 Репутация: 0 Всего: 0 |
так можно ж вызывать на unload (если такова есть) функцию которая с помощю XMLHttpRequest дёргала б РНР скрипт который бы лез в БД и делал там что надо а потом брал из БД новый список людей которые сейчас присутствуют?
|
|||
|
||||
Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
Это - конец загрузки. Есть OnExit, но не забывай, что если я просто закрываю браузер или вкладку то оно не сработает. |
|||
|
||||
Reptor |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1213 Регистрация: 29.12.2004 Репутация: 0 Всего: 0 |
тоесть если нажать на крестик то нечего не будет? И ещё я нашол функцию OnUnload |
|||
|
||||
Mal Hack |
|
||||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
Естественно... Вариант с открытием Попап окна я тебе не предлагаю.
OnLoad - при загрузке OnUnLoad - окончание загрузки. |
||||
|
|||||
Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 4 Всего: 317 |
Нет, при закрытии окна, но не во всех браузерах есть это событие. Reptor а почему бы не писать время последнего захода юзера, если интервал между текущим и записанным больше таймаута, то юзера более нет. Наиболее простой и часто реализуемый способ. -------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
Reptor |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1213 Регистрация: 29.12.2004 Репутация: 0 Всего: 0 |
Что значит таймаут?
|
|||
|
||||
Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
Ты пишешь в базу время, когда последний раз пользователь зашел на страничку. Затем ты смотришь, чтобы это время было больше чем 15 минут, к примеру. Эти 15 минут и будут тайм-аутом. |
|||
|
||||
Axxent |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 223 Регистрация: 25.3.2004 Где: Новосибирск Репутация: 3 Всего: 5 |
Да. Таймаут - это самое разумное решение. Конечно, можно средствами JS при закрытии порождать новое окно, которое обращалось бы к какому-то скрипту, сбрасывающему базу, но смысл?
|
|||
|
||||
Reptor |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1213 Регистрация: 29.12.2004 Репутация: 0 Всего: 0 |
так сто мне весно надо юудет дёргать БД и сравнивать время. И как в БД внести изменения.
Получаеться за каждым пользователем надо следить каждую секунду или как? |
|||
|
||||
Alx |
|
|||
Ajaxy ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2903 Регистрация: 26.11.2003 Где: Cutopia Репутация: 6 Всего: 78 |
я бы сделал попапом...
|
|||
|
||||
penizillin |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 312 Регистрация: 10.11.2004 Репутация: 8 Всего: 9 |
|
|||
|
||||
Alx |
|
|||
Ajaxy ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2903 Регистрация: 26.11.2003 Где: Cutopia Репутация: 6 Всего: 78 |
penizillin
а если обращения не будет? |
|||
|
||||
Reptor |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1213 Регистрация: 29.12.2004 Репутация: 0 Всего: 0 |
А это как? |
|||
|
||||
penizillin |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 312 Регистрация: 10.11.2004 Репутация: 8 Всего: 9 |
|
|||
|
||||
Sardar |
|
||||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 4 Всего: 317 |
То проходит время таймаута и юзер выкидывается из списка активных юзеров. Reptor в базе ничего менять не нужно и никаких флагов выставлять не нужно! Просто выбираем всех у кого время прошедшее с последнего визита не больше таймаута.
Только скрытым ифреймом, попапы браузер убивает. При скрытии окошка браузера у тебя не будет времени загрузить страницу(вспомним про тех кто на модемах), к тому же браузер может запретить любую перезагрузку при закрывании окна. Вывод: не извращайтесь, делайте по старинке, как уже много лет поверенно и доказанно что работает ![]() -------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
||||
|
|||||
Opik |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Vingrad developer Сообщений: 1918 Регистрация: 6.10.2004 Где: Рига Репутация: 24 Всего: 55 |
Mal Hack
есть функция JS, которая что то делает, при закрытии браузера/окна... только говорить не буду, т.к она это не выход ![]() |
|||
|
||||
Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
Это обрадотка события толи OnClose, толи ONExit.
В любом случае делать надо по тайм-ауту ![]() |
|||
|
||||
Reptor |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1213 Регистрация: 29.12.2004 Репутация: 0 Всего: 0 |
если делать по таймауту тогда вдруг пользователь отлучиться случайно или ещё что (тоесть не будет давать о себе знать) то получиться что его принудительно выкенет а так мне нельзя, а если рано выйдет тогда список пользователей обновиться не сразу а через определённое время.
Тоесть мне 100% надо знать когда он нажал кнопочку выход или крестик (но не релоуд). Может кто то вспомнит функцию JS с помощью которой можна такое сделать или ещё чего то (РНР)? |
|||
|
||||
Mal Hack |
|
||||||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
Так все делают.
Если ты ее сам сделаешь - то по ее нажатии и узнаешь.
Никак, без открытия нового окна. И то сработает лишь в 30% случаев. |
||||||
|
|||||||
![]() ![]() ![]() |
Правила форума "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. |