Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Присутствие юзера 
:(
    Опции темы
R.M.
Дата 10.10.2005, 04:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Анархист
****


Профиль
Группа: Участник
Сообщений: 2164
Регистрация: 8.6.2005
Где: Питер

Репутация: -2
Всего: 30



Всем здрасте.

Есть чат, как определить находится ли юзер на странице?
Т.е. надо чтобы при уходе юзера из чата он пропадал в списке юзерова.
Как такое осуществить?
Проверять время последней отправки сообщения не катит, т.к. юзер может сидеть но в чате не писать (чат - не единственное что есть на странице)


--------------------
Помнишь как бодрили дискотеки прошлого века? Теперь стул, компьютер и нету человека.

Nokia LifeStyle - Всё для смартфонов Nokia 
PM MAIL WWW ICQ   Вверх
-=Ustas=-
Дата 10.10.2005, 09:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ustix IT Group
****


Профиль
Группа: Участник Клуба
Сообщений: 2222
Регистрация: 21.1.2005
Где: Краснодар

Репутация: 32
Всего: 69



Наверное сессии устанавливать надо. Скачай готовые скрипты чата, и посмотри их реализацию.


--------------------
В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм.
-----
PM WWW ICQ Skype   Вверх
R.M.
Дата 10.10.2005, 09:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Анархист
****


Профиль
Группа: Участник
Сообщений: 2164
Регистрация: 8.6.2005
Где: Питер

Репутация: -2
Всего: 30



-=Ustas=-

Если сессии то если юзер просто закроет окно он так и будет висеть в списке.

Смотрел я другой чат но там это тоже плохо реализовано, посмотрю ещё smile


--------------------
Помнишь как бодрили дискотеки прошлого века? Теперь стул, компьютер и нету человека.

Nokia LifeStyle - Всё для смартфонов Nokia 
PM MAIL WWW ICQ   Вверх
HalkaR
Дата 10.10.2005, 10:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Пуфыстый назгул
****


Профиль
Группа: Экс. модератор
Сообщений: 2132
Регистрация: 8.12.2002
Где: В Москве

Репутация: 2
Всего: 42



Во-первых. Какой у тебя алгоритм обновления данных в окне чата?
PM MAIL   Вверх
Bastet
Дата 10.10.2005, 11:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 159
Регистрация: 26.9.2005
Где: Тильзит

Репутация: 3
Всего: 6



Как-то рассказывал мне друг, как сделать учет пользователей, просматривающих форум... Только я так и не реализовала и подзабыла.
Смысл был такой: заводится в БД табличка, в которой хранятся идентификатор пользователя и время его последнего обращения к странице. Если с момента последнего обращения прошло установленное время, запись удаляется из таблицы. Список юзеров он-лайн выводится из этой таблички.
Не сталкивалась с чатами (даже не чатюсь), но там вроде страница постоянно перезагружается, поэтому пока пользователь не закрыл страницу, его запись будет регулярно обновляться в БД.

Вот как-то так... Если этот метод не годится, звиняйте...
--------------------
"I'm not bad. I'm just drawn that way" © Jessica RabbitСм.также: BB | ЖЖ | DA
PM MAIL WWW ICQ   Вверх
R.M.
Дата 10.10.2005, 15:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Анархист
****


Профиль
Группа: Участник
Сообщений: 2164
Регистрация: 8.6.2005
Где: Питер

Репутация: -2
Всего: 30



HalkaR
Цитата(HalkaR @ 10.10.2005, 11:36)
Во-первых. Какой у тебя алгоритм обновления данных в окне чата?

Обновляется фрейм каждые 5 секунд в этом фрейме текстовой файл в который и пишутся сообщения


Bastet
Чтото вроде того, но если человек сидит на сайте но не пишет никому и ждёт чегото (не делает вообще ничего, просто ждёт) то его (по твоему принципу) кинет с сайта или чтонить вроде того.

Слышал о чёмто вроде слежки за обновлением фрейма чата, но незнаю как это реализовать smile


--------------------
Помнишь как бодрили дискотеки прошлого века? Теперь стул, компьютер и нету человека.

Nokia LifeStyle - Всё для смартфонов Nokia 
PM MAIL WWW ICQ   Вверх
Bastet
Дата 10.10.2005, 17:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 159
Регистрация: 26.9.2005
Где: Тильзит

Репутация: 3
Всего: 6



Куксикус, почему его кинет (что вообще значит "кинет"?) с сайта?
А если загружать во фрейм не текстовый файл, а php-скрипт (который будет выводить этот самый текстовый файл), и в нем проверять пользователей? Тогда данные о просматривающих форум будут включать и тех, кто просто сидит и тупо смотрит в открытое окошко (скрипт-то все равно перезагружается каждые 5 секунд).
Боюсь только, это будет нагрузка на БД - каждые 5 секунд обрабатывать N не самых простых запросов.
Ничего другого на ум не идет.
--------------------
"I'm not bad. I'm just drawn that way" © Jessica RabbitСм.также: BB | ЖЖ | DA
PM MAIL WWW ICQ   Вверх
R.M.
Дата 10.10.2005, 17:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Анархист
****


Профиль
Группа: Участник
Сообщений: 2164
Регистрация: 8.6.2005
Где: Питер

Репутация: -2
Всего: 30



Bastet
Цитата(Bastet @ 10.10.2005, 18:33)
почему его кинет (что вообще значит "кинет"?) с сайта?

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

Цитата(Bastet @ 10.10.2005, 18:33)
А если загружать во фрейм не текстовый файл, а php-скрипт (который будет выводить этот самый текстовый файл), и в нем проверять пользователей? Тогда данные о просматривающих форум будут включать и тех, кто просто сидит и тупо смотрит в открытое окошко (скрипт-то все равно перезагружается каждые 5 секунд).
Боюсь только, это будет нагрузка на БД - каждые 5 секунд обрабатывать N не самых простых запросов.
Ничего другого на ум не идет.

Ну впринципе попробывать можно, только вот мне на ум не приходит КАК это сделать, я же собственно и спрашивал
Цитата
Есть чат, как определить находится ли юзер на странице?



--------------------
Помнишь как бодрили дискотеки прошлого века? Теперь стул, компьютер и нету человека.

Nokia LifeStyle - Всё для смартфонов Nokia 
PM MAIL WWW ICQ   Вверх
HalkaR
Дата 10.10.2005, 19:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Пуфыстый назгул
****


Профиль
Группа: Экс. модератор
Сообщений: 2132
Регистрация: 8.12.2002
Где: В Москве

Репутация: 2
Всего: 42



Цитата
Ну впринципе попробывать можно, только вот мне на ум не приходит КАК это сделать, я же собственно и спрашивал
Цитата
Есть чат, как определить находится ли юзер на странице?

Код

<?
file('text.txt');

mysql_connect(...);
mysql_query("UPDATE"....); // юзер еще здесь
?>

PM MAIL   Вверх
Bastet
Дата 10.10.2005, 21:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 159
Регистрация: 26.9.2005
Где: Тильзит

Репутация: 3
Всего: 6



Куксикус, вот КАК определить присутствие юзера я описала в первом посте. Состоит оно из двух нехитрых процедурок (удаление из БД всех "просроченных" и обновление записи для запросившего страницу пользователя) в скрипте, который будет загружаться во фрейм.
--------------------
"I'm not bad. I'm just drawn that way" © Jessica RabbitСм.также: BB | ЖЖ | DA
PM MAIL WWW ICQ   Вверх
R.M.
Дата 11.10.2005, 07:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Анархист
****


Профиль
Группа: Участник
Сообщений: 2164
Регистрация: 8.6.2005
Где: Питер

Репутация: -2
Всего: 30



HalkaR
Это немного не то

Bastet
Вот твой первый пост
Цитата(Bastet @ 10.10.2005, 12:19)
Если с момента последнего обращения прошло установленное время, запись удаляется из таблицы. Список юзеров он-лайн выводится из этой таблички.

Но если запись будет удаляца то ево небудит в онлайн а он может сидеть но в чате не писать.
Или я чегото непонимаю?


--------------------
Помнишь как бодрили дискотеки прошлого века? Теперь стул, компьютер и нету человека.

Nokia LifeStyle - Всё для смартфонов Nokia 
PM MAIL WWW ICQ   Вверх
Bastet
Дата 11.10.2005, 09:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 159
Регистрация: 26.9.2005
Где: Тильзит

Репутация: 3
Всего: 6



Куксикус, тебе нужно объединить мои первый и второй пост.
Если юзер даже просто сидит в чате и ничегошеньки не делает, скрипт во фрейме, перезагружаясь каждые 5 секунд, фиксирует его пребывание в базе данных. Даже не знаю, как объяснить... Короче во первых строках скрипта должно выполняться:

Шаг первый: удалить из БД записи всех пользователей, которые не запрашивали страницу в течении 15 секунд (это значит, что пользователь ЗАКРЫЛ окно браузера).
Шаг второй: найти (если не найдено - добавить) запись пользователя, который вызвал этот скрипт и обновить его время.

Обязательное условие: этот скрипт должен загружаться во фрейме. Тогда данные на каждого пользователя будут обновляться каждые 5 секунд вне зависимости от того, пишет он что-то или нет.
Не знаю, как еще объяснять... Если я ступила, надеюсь, кто-нибудь более знающий меня поправит.


Теоретически это должно работать. Если выкрою время, проверю.
--------------------
"I'm not bad. I'm just drawn that way" © Jessica RabbitСм.также: BB | ЖЖ | DA
PM MAIL WWW ICQ   Вверх
R.M.
Дата 11.10.2005, 11:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Анархист
****


Профиль
Группа: Участник
Сообщений: 2164
Регистрация: 8.6.2005
Где: Питер

Репутация: -2
Всего: 30



Bastet

Цитата(Bastet @ 11.10.2005, 10:55)
Теоретически это должно работать. Если выкрою время, проверю.

Ненадо я уже сам пошёл проверять smile


--------------------
Помнишь как бодрили дискотеки прошлого века? Теперь стул, компьютер и нету человека.

Nokia LifeStyle - Всё для смартфонов Nokia 
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1015 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.