Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Как определить он-лайн пользователь или нет? [2]

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (2): « 1 [2]   

> Без описания
zardoz
Отправлено: 25 Февраля, 2011 - 21:49:07
Post Id


Гость


Покинул форум
Сообщений всего: 100
Дата рег-ции: Сент. 2010  


Помог: 0 раз(а)




ShuvaL пишет:
А как быть если мне нужно вывести друзей онлайн?
Дрязья хранятся в одной таблице, а время последней активности в другой.

Можно либо подзапросом либо соединением таблиц. Точнее можно написать когда будут видны таблицы. Никакого цикла не надо.

С уважением.

(Отредактировано автором: 25 Февраля, 2011 - 21:50:03)

 
 Top
ALEN
Отправлено: 25 Февраля, 2011 - 21:52:00
Post Id



Участник


Покинул форум
Сообщений всего: 1459
Дата рег-ции: Авг. 2008  
Откуда: Крым


Помог: 11 раз(а)




zardoz
Это спокойно реализуется в рамках одной таблицы, а на каждого пользователя создавать по таблице с инфой, кто онлайн - это бред!!
 
 Top
zardoz
Отправлено: 25 Февраля, 2011 - 22:11:57
Post Id


Гость


Покинул форум
Сообщений всего: 100
Дата рег-ции: Сент. 2010  


Помог: 0 раз(а)




ALEN пишет:
на каждого пользователя создавать по таблице


Вы про отношение "один ко многим" слышали? В одной таблице карточки пользвателей - ФИО, адрес, любимое блюдо и т.д., в другой таблице - журнал посещения, связан по айди с таблицей карточек. Это к слову про "для каждого по таблице"..

Поскольку автор хранит не весь журнал, а только время последней активности то - да, можно управится одной таблицей - после поля "любимое блюдо" добавить поле типа "время посещения".

С уважением.

(Отредактировано автором: 25 Февраля, 2011 - 22:13:03)

 
 Top
ALEN
Отправлено: 25 Февраля, 2011 - 22:34:09
Post Id



Участник


Покинул форум
Сообщений всего: 1459
Дата рег-ции: Авг. 2008  
Откуда: Крым


Помог: 11 раз(а)




zardoz
Сори читаю бегло, не заметил деталей. Но в общем и на будущее хранить кто онлайн, лучше в одной таблице (тем более если нужно определить друзей или просто в общем на сайте)
 
 Top
JustUserR
Отправлено: 25 Февраля, 2011 - 23:20:26
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




ALEN пишет:
Это спокойно реализуется в рамках одной таблицы, а на каждого пользователя создавать по таблице с инфой, кто онлайн - это бред!!
Осуществление оптимизации схемы храненя и взаимосвязи информационных полей в оригинальной таблице БД в действительности является важным оптимизационным аспектом, однако при обеспечении решения предполагаемой задачи основным элементов улучшения быстродействия является организацией транспортного соединения с comet-сервером, что обеспечивает возможность реального определения состояния пользователя и уменьшения целевой нагрузки


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
djkoff
Отправлено: 06 Апреля, 2012 - 13:40:37
Post Id



Новичок


Покинул форум
Сообщений всего: 3
Дата рег-ции: Апр. 2012  


Помог: 0 раз(а)




Чтоб не создавать новую тему продолжу эту.

А как реализовать нахождение пользователя онлайн до тех самых пор пока не закрыта страница в браузере или не прервано интернет-соединение?

(Отредактировано автором: 06 Апреля, 2012 - 13:41:21)

 
 Top
Zuldek
Отправлено: 06 Апреля, 2012 - 14:37:08
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2122
Дата рег-ции: Июнь 2010  


Помог: 50 раз(а)




djkoff пишет:
Чтоб не создавать новую тему продолжу эту.

А как реализовать нахождение пользователя онлайн до тех самых пор пока не закрыта страница в браузере или не прервано интернет-соединение?


Пока не закрыта страница - onclose().
Пока пользователь на странице, если вам нужно знать момент разрыва соединения с ним, то jsom постоянно отзваниваете серверу по таймеру и обновляете свой статус онлайн. Только так.
 
 Top
djkoff
Отправлено: 06 Апреля, 2012 - 14:43:48
Post Id



Новичок


Покинул форум
Сообщений всего: 3
Дата рег-ции: Апр. 2012  


Помог: 0 раз(а)




Zuldek пишет:
Пока не закрыта страница - onclose().
Пока пользователь на странице, если вам нужно знать момент разрыва соединения с ним, то jsom постоянно отзваниваете серверу по таймеру и обновляете свой статус онлайн. Только так.


А могу ли я попросить небольшой пример кода, чтоб разобраться на примере?

И еще, у меня в авторизации, после того как пара логин/пароль совпали, создаются сессии с логином и паролем, у сессий очень короткая жизнь, как же сделать так, чтоб всё то время, что пользователь онлайн, сессии жили?

(Отредактировано автором: 06 Апреля, 2012 - 14:44:13)

 
 Top
Zuldek
Отправлено: 06 Апреля, 2012 - 15:10:11
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2122
Дата рег-ции: Июнь 2010  


Помог: 50 раз(а)




djkoff пишет:
время, что пользователь онлайн, сессии жили?

При переходе на страницу сессия перезаписывается заново. Жить будет столько сколько укажете.
Что вы вкладываете в понятие "пока пользователь онлайн"?
1. Пока пользователь просматривает страницу сайта
2. Пока пользователь не закрыл страницу сайта в браузере. Он может свернуть вкладку и вообще никогда не закрывать страницу с сайтом, как многие и делают
3. Пока пользователь на странице сайта и не разорвано интернет-соединение.

Вы не можете сказать "онлайн" на самом деле сейчас пользователь или нет, на странице он или нет, если не напишите для этого инструментарий. Если, например вы каждые 10 секунд хотите проверять "жив" пользователь или нет, то jsom отправляете запрос на сервер, он его получает и перезаписывает сессию со статусом.
 
 Top
djkoff
Отправлено: 06 Апреля, 2012 - 15:23:29
Post Id



Новичок


Покинул форум
Сообщений всего: 3
Дата рег-ции: Апр. 2012  


Помог: 0 раз(а)




Zuldek пишет:

При переходе на страницу сессия перезаписывается заново. Жить будет столько сколько укажете.
Что вы вкладываете в понятие "пока пользователь онлайн"?
1. Пока пользователь просматривает страницу сайта
2. Пока пользователь не закрыл страницу сайта в браузере. Он может свернуть вкладку и вообще никогда не закрывать страницу с сайтом, как многие и делают
3. Пока пользователь на странице сайта и не разорвано интернет-соединение.

Вы не можете сказать "онлайн" на самом деле сейчас пользователь или нет, на странице он или нет, если не напишите для этого инструментарий. Если, например вы каждые 10 секунд хотите проверять "жив" пользователь или нет, то jsom отправляете запрос на сервер, он его получает и перезаписывает сессию со статусом.


Я имею в виду именно пункты 2 и 3.

Значит json может со всем этим справится?
А где можно посмотреть примеры с подобными скриптами? Я просто с PHP знаком хорошо и дружу с ним, а вот с семейство js языков мало общаюсь и тесной дружбы не имею. : (
 
 Top
Страниц (2): « 1 [2]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB