![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
R.M. |
|
|||
![]() Анархист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2164 Регистрация: 8.6.2005 Где: Питер Репутация: -2 Всего: 30 |
Всем здрасте.
Есть чат, как определить находится ли юзер на странице? Т.е. надо чтобы при уходе юзера из чата он пропадал в списке юзерова. Как такое осуществить? Проверять время последней отправки сообщения не катит, т.к. юзер может сидеть но в чате не писать (чат - не единственное что есть на странице) -------------------- Помнишь как бодрили дискотеки прошлого века? Теперь стул, компьютер и нету человека. Nokia LifeStyle - Всё для смартфонов Nokia |
|||
|
||||
-=Ustas=- |
|
|||
![]() Ustix IT Group ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2222 Регистрация: 21.1.2005 Где: Краснодар Репутация: 32 Всего: 69 |
Наверное сессии устанавливать надо. Скачай готовые скрипты чата, и посмотри их реализацию.
-------------------- В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм. ----- |
|||
|
||||
R.M. |
|
|||
![]() Анархист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2164 Регистрация: 8.6.2005 Где: Питер Репутация: -2 Всего: 30 |
-=Ustas=-
Если сессии то если юзер просто закроет окно он так и будет висеть в списке. Смотрел я другой чат но там это тоже плохо реализовано, посмотрю ещё ![]() -------------------- Помнишь как бодрили дискотеки прошлого века? Теперь стул, компьютер и нету человека. Nokia LifeStyle - Всё для смартфонов Nokia |
|||
|
||||
HalkaR |
|
|||
![]() Пуфыстый назгул ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2132 Регистрация: 8.12.2002 Где: В Москве Репутация: 2 Всего: 42 |
Во-первых. Какой у тебя алгоритм обновления данных в окне чата?
|
|||
|
||||
Bastet |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 159 Регистрация: 26.9.2005 Где: Тильзит Репутация: 3 Всего: 6 |
Как-то рассказывал мне друг, как сделать учет пользователей, просматривающих форум... Только я так и не реализовала и подзабыла.
Смысл был такой: заводится в БД табличка, в которой хранятся идентификатор пользователя и время его последнего обращения к странице. Если с момента последнего обращения прошло установленное время, запись удаляется из таблицы. Список юзеров он-лайн выводится из этой таблички. Не сталкивалась с чатами (даже не чатюсь), но там вроде страница постоянно перезагружается, поэтому пока пользователь не закрыл страницу, его запись будет регулярно обновляться в БД. Вот как-то так... Если этот метод не годится, звиняйте... --------------------
"I'm not bad. I'm just drawn that way" © Jessica RabbitСм.также: BB | ЖЖ | DA |
|||
|
||||
R.M. |
|
|||
![]() Анархист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2164 Регистрация: 8.6.2005 Где: Питер Репутация: -2 Всего: 30 |
HalkaR
Обновляется фрейм каждые 5 секунд в этом фрейме текстовой файл в который и пишутся сообщения Bastet Чтото вроде того, но если человек сидит на сайте но не пишет никому и ждёт чегото (не делает вообще ничего, просто ждёт) то его (по твоему принципу) кинет с сайта или чтонить вроде того. Слышал о чёмто вроде слежки за обновлением фрейма чата, но незнаю как это реализовать ![]() -------------------- Помнишь как бодрили дискотеки прошлого века? Теперь стул, компьютер и нету человека. Nokia LifeStyle - Всё для смартфонов Nokia |
|||
|
||||
Bastet |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 159 Регистрация: 26.9.2005 Где: Тильзит Репутация: 3 Всего: 6 |
Куксикус, почему его кинет (что вообще значит "кинет"?) с сайта?
А если загружать во фрейм не текстовый файл, а php-скрипт (который будет выводить этот самый текстовый файл), и в нем проверять пользователей? Тогда данные о просматривающих форум будут включать и тех, кто просто сидит и тупо смотрит в открытое окошко (скрипт-то все равно перезагружается каждые 5 секунд). Боюсь только, это будет нагрузка на БД - каждые 5 секунд обрабатывать N не самых простых запросов. Ничего другого на ум не идет. --------------------
"I'm not bad. I'm just drawn that way" © Jessica RabbitСм.также: BB | ЖЖ | DA |
|||
|
||||
R.M. |
|
||||||
![]() Анархист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2164 Регистрация: 8.6.2005 Где: Питер Репутация: -2 Всего: 30 |
Bastet
Ну кинет (если сделать при бездействии юзера переадресацию) или сессия уничтожется - особой разницы нету, всёравно доставит неудобства.
Ну впринципе попробывать можно, только вот мне на ум не приходит КАК это сделать, я же собственно и спрашивал
-------------------- Помнишь как бодрили дискотеки прошлого века? Теперь стул, компьютер и нету человека. Nokia LifeStyle - Всё для смартфонов Nokia |
||||||
|
|||||||
HalkaR |
|
||||||
![]() Пуфыстый назгул ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2132 Регистрация: 8.12.2002 Где: В Москве Репутация: 2 Всего: 42 |
|
||||||
|
|||||||
Bastet |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 159 Регистрация: 26.9.2005 Где: Тильзит Репутация: 3 Всего: 6 |
Куксикус, вот КАК определить присутствие юзера я описала в первом посте. Состоит оно из двух нехитрых процедурок (удаление из БД всех "просроченных" и обновление записи для запросившего страницу пользователя) в скрипте, который будет загружаться во фрейм.
--------------------
"I'm not bad. I'm just drawn that way" © Jessica RabbitСм.также: BB | ЖЖ | DA |
|||
|
||||
R.M. |
|
|||
![]() Анархист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2164 Регистрация: 8.6.2005 Где: Питер Репутация: -2 Всего: 30 |
HalkaR
Это немного не то Bastet Вот твой первый пост
Но если запись будет удаляца то ево небудит в онлайн а он может сидеть но в чате не писать. Или я чегото непонимаю? -------------------- Помнишь как бодрили дискотеки прошлого века? Теперь стул, компьютер и нету человека. Nokia LifeStyle - Всё для смартфонов Nokia |
|||
|
||||
Bastet |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 159 Регистрация: 26.9.2005 Где: Тильзит Репутация: 3 Всего: 6 |
Куксикус, тебе нужно объединить мои первый и второй пост.
Если юзер даже просто сидит в чате и ничегошеньки не делает, скрипт во фрейме, перезагружаясь каждые 5 секунд, фиксирует его пребывание в базе данных. Даже не знаю, как объяснить... Короче во первых строках скрипта должно выполняться: Шаг первый: удалить из БД записи всех пользователей, которые не запрашивали страницу в течении 15 секунд (это значит, что пользователь ЗАКРЫЛ окно браузера). Шаг второй: найти (если не найдено - добавить) запись пользователя, который вызвал этот скрипт и обновить его время. Обязательное условие: этот скрипт должен загружаться во фрейме. Тогда данные на каждого пользователя будут обновляться каждые 5 секунд вне зависимости от того, пишет он что-то или нет. Не знаю, как еще объяснять... Если я ступила, надеюсь, кто-нибудь более знающий меня поправит. Теоретически это должно работать. Если выкрою время, проверю. --------------------
"I'm not bad. I'm just drawn that way" © Jessica RabbitСм.также: BB | ЖЖ | DA |
|||
|
||||
R.M. |
|
|||
![]() Анархист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2164 Регистрация: 8.6.2005 Где: Питер Репутация: -2 Всего: 30 |
Bastet
Ненадо я уже сам пошёл проверять ![]() -------------------- Помнишь как бодрили дискотеки прошлого века? Теперь стул, компьютер и нету человека. Nokia LifeStyle - Всё для смартфонов Nokia |
|||
|
||||
![]() ![]() ![]() |
Правила форума "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. |