Ayola.net
Новости: В связи с обилием спама, постинг на форуме временно закрыт.

Для связи с поддержкой используйте тикеты в панели управления.
 
*
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь. Июнь 24, 2017, 03:39:05


Войти


Страниц: [1] 2
  Печать  
Автор Тема: Скрипт OnLine  (Прочитано 10274 раз)
0 Пользователей и 1 Гость смотрят эту тему.
vist_ilya
Новичёк
*

Карма: 1
Сообщений: 13



Просмотр профиля WWW
« : Июнь 20, 2008, 20:22:23 »

Появился очень интересный вопрос. Каким образом организовать статус Online/Offline?
Есть идея:
При входе (логин) на форум изменять в БД значение например 0 на 1, а в коде написать что-то типа:
Код:
$stat=mysql_query("SELECT ... WHERE `id` = '$posterid'");
$stat=mysql_fetch_array($stat);
if ($stat[0] == "1"){
$content.="<br>Online<br>";
}
Вот, теперь вопрос, как сделать, чтобы значение Online (в БД это 1), через некоторое время бездействия юзера менялось на offline (0)?
Записан

И будет так!
B@c!fer
Вникающий
***

Карма: 6
Сообщений: 168


Просмотр профиля WWW
« Ответ #1 : Июнь 20, 2008, 21:01:06 »

на мой взгляд проще по дате..
mysql_query("SELECT ... FROM ... WHERE time > NOW() - INTERVAL '5' MINUTE");

time это название поля в таблице..
Записан

atimur
Просветлённый
****

Карма: 59
Сообщений: 990


Живу в SanCity


Просмотр профиля WWW
« Ответ #2 : Июнь 20, 2008, 21:01:57 »

Согранять еще временной дамп при логине. И например если прошло 15 минут ставить offline
Записан

- Правда, она всегда глаза режет...
- Капча - Идите лесом...
vist_ilya
Новичёк
*

Карма: 1
Сообщений: 13



Просмотр профиля WWW
« Ответ #3 : Июнь 20, 2008, 21:04:46 »

Цитировать
WHERE time > NOW() - INTERVAL '5' MINUTE
Вот с этого места поподробней плз...
Записан

И будет так!
Astraller™
Маэстро
*****

Карма: 151
Сообщений: 1389

Вселенское зло


Просмотр профиля WWW
« Ответ #4 : Июнь 20, 2008, 21:06:46 »

Я организовывал иначе. При открытии странички пользователем у него в базе записывается timestamp. А выбор активных пользователей производим:
SELECT * FROM `users` WHERE `users`.`online` = (NOW()-MINUTE(5));

Кроме того убиваем зайца с определением последнего посещения пользователя Улыбающийся
Записан

Гамлета здесь больше нет. Осталась только тень.
vist_ilya
Новичёк
*

Карма: 1
Сообщений: 13



Просмотр профиля WWW
« Ответ #5 : Июнь 20, 2008, 21:09:21 »

Извините за тупой вопрос, но подругому не могу.
Начит я должен сделать, когда юзер логинится, timestamp и, судя по коду постоянно сверять его. Так?
Записан

И будет так!
B@c!fer
Вникающий
***

Карма: 6
Сообщений: 168


Просмотр профиля WWW
« Ответ #6 : Июнь 20, 2008, 21:12:29 »

вот то что предложил Astraller™ тебе даже больше подойдёт:)

тут чисто сравнение времён идёт NOW() содержит текущее время..а в поле у юзвера то время когда он залогинился и мы проверяем если наше время меньше того которое у пользователя + 5 минут(в данном случае)..то мы думаем что он ещё на сайте
Записан

Astraller™
Маэстро
*****

Карма: 151
Сообщений: 1389

Вселенское зло


Просмотр профиля WWW
« Ответ #7 : Июнь 20, 2008, 21:12:57 »

Извините за тупой вопрос, но подругому не могу.
Начит я должен сделать, когда юзер логинится, timestamp и, судя по коду постоянно сверять его. Так?
Неа Улыбающийся
Смотрите, в начале страницы, сразу после подключа к БД делаем
Код:
<?php
mysql_query
("UPDATE `users` SET `online` = '".time()."' WHERE `id` = ".$_SESSION['user_id']);
?>
А в том месте где надо вывести юзерей зопрашиваем их так:
Код:
<?php
$OnlineUsers
=mysql_query("SELECT * FROM `users` WHERE `online` > ".(time()-15*60));
?>
« Последнее редактирование: Июнь 20, 2008, 21:20:19 от Astraller™ » Записан

Гамлета здесь больше нет. Осталась только тень.
Astraller™
Маэстро
*****

Карма: 151
Сообщений: 1389

Вселенское зло


Просмотр профиля WWW
« Ответ #8 : Июнь 20, 2008, 21:13:59 »

тут чисто сравнение времён идёт NOW() содержит текущее время..а в поле у юзвера то время когда он залогинился и мы проверяем если наше время меньше того которое у пользователя + 5 минут(в данном случае)..то мы думаем что он ещё на сайте
Я делал через NOW(), но потом переделал так как написал выше, ибо с timestam'ом оказалось работать удобнее Улыбающийся
Записан

Гамлета здесь больше нет. Осталась только тень.
B@c!fer
Вникающий
***

Карма: 6
Сообщений: 168


Просмотр профиля WWW
« Ответ #9 : Июнь 20, 2008, 21:16:14 »

да..но у timestam юниксовый формат даты..я с ним запутался)))
Записан

vist_ilya
Новичёк
*

Карма: 1
Сообщений: 13



Просмотр профиля WWW
« Ответ #10 : Июнь 20, 2008, 21:17:20 »

Ага!!! А я о чем говорил!!!! ВОТ:

Fatal error: Call to undefined function timestamp() in U:\home\php.zu\www\index.php on line 14
Записан

И будет так!
B@c!fer
Вникающий
***

Карма: 6
Сообщений: 168


Просмотр профиля WWW
« Ответ #11 : Июнь 20, 2008, 21:19:07 »

Ага!!! А я о чем говорил!!!! ВОТ:

Fatal error: Call to undefined function timestamp() in U:\home\php.zu\www\index.php on line 14

чёт не припомню чтобы ты об этом говорил))
Записан

vist_ilya
Новичёк
*

Карма: 1
Сообщений: 13



Просмотр профиля WWW
« Ответ #12 : Июнь 20, 2008, 21:20:58 »

Ну сказал же. Как бы вот еще ф-цию найти?... Или писать придеццо через date()?
Записан

И будет так!
Astraller™
Маэстро
*****

Карма: 151
Сообщений: 1389

Вселенское зло


Просмотр профиля WWW
« Ответ #13 : Июнь 20, 2008, 21:21:08 »

Fatal error: Call to undefined function timestamp() in U:\home\php.zu\www\index.php on line 14
Да-да-да Улыбающийся Попутал я функцию опять, нет функции timestamp, есть time() Улыбающийся
Записан

Гамлета здесь больше нет. Осталась только тень.
Astraller™
Маэстро
*****

Карма: 151
Сообщений: 1389

Вселенское зло


Просмотр профиля WWW
« Ответ #14 : Июнь 20, 2008, 21:21:46 »

да..но у timestam юниксовый формат даты..я с ним запутался)))
Да ну.... самый удобный как по моему Улыбающийся
Записан

Гамлета здесь больше нет. Осталась только тень.
vist_ilya
Новичёк
*

Карма: 1
Сообщений: 13



Просмотр профиля WWW
« Ответ #15 : Июнь 20, 2008, 21:34:34 »

Вцениваем! Спасибо всем, ели что, еще обращусь :-))
Записан

И будет так!
Astraller™
Маэстро
*****

Карма: 151
Сообщений: 1389

Вселенское зло


Просмотр профиля WWW
« Ответ #16 : Июнь 20, 2008, 21:38:38 »

Вцениваем! Спасибо всем, ели что, еще обращусь :-))
Спасибо это много, а вот + было бы в самый раз Улыбающийся
Записан

Гамлета здесь больше нет. Осталась только тень.
B@c!fer
Вникающий
***

Карма: 6
Сообщений: 168


Просмотр профиля WWW
« Ответ #17 : Июнь 20, 2008, 21:40:22 »

криво работает)))
Записан

vist_ilya
Новичёк
*

Карма: 1
Сообщений: 13



Просмотр профиля WWW
« Ответ #18 : Июнь 20, 2008, 21:42:45 »

почему криво? Помоему нормально, я там один пока (уже?) сижу.
Записан

И будет так!
Astraller™
Маэстро
*****

Карма: 151
Сообщений: 1389

Вселенское зло


Просмотр профиля WWW
« Ответ #19 : Июнь 20, 2008, 21:42:58 »

криво работает)))
Что именно криво? Улыбающийся
Записан

Гамлета здесь больше нет. Осталась только тень.
B@c!fer
Вникающий
***

Карма: 6
Сообщений: 168


Просмотр профиля WWW
« Ответ #20 : Июнь 20, 2008, 21:43:25 »

надо..это..время пользователя в базе обнавлять каждый раз как он на страничку зашёл
Записан

B@c!fer
Вникающий
***

Карма: 6
Сообщений: 168


Просмотр профиля WWW
« Ответ #21 : Июнь 20, 2008, 21:44:14 »

офф-топ::::::даёшь свободу YO-лкам!))))
Записан

vist_ilya
Новичёк
*

Карма: 1
Сообщений: 13



Просмотр профиля WWW
« Ответ #22 : Июнь 20, 2008, 21:44:40 »

Логично... Дык в функцию записать и все будет ок.
Записан

И будет так!
B@c!fer
Вникающий
***

Карма: 6
Сообщений: 168


Просмотр профиля WWW
« Ответ #23 : Июнь 20, 2008, 21:46:31 »

я не могу...ёлки прошли!!!!!!!!!)))))))))))))
Записан

Astraller™
Маэстро
*****

Карма: 151
Сообщений: 1389

Вселенское зло


Просмотр профиля WWW
« Ответ #24 : Июнь 20, 2008, 21:46:37 »

надо..это..время пользователя в базе обнавлять каждый раз как он на страничку зашёл
Ээээ, а от этого никак не уйдёшь Улыбающийся Все равно в базу каждый раз пишем Улыбающийся Только в данном случае убиваем двух зайцефф Улыбающийся
Записан

Гамлета здесь больше нет. Осталась только тень.
Страниц: [1] 2
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.13 | SMF © 2006, Simple Machines LLC

2003-2008 © ООО "Инфотур" - Бесплатный хостинг Ayola.net
Valid XHTML 1.0! Valid CSS! Dilber MC Theme by HarzeM
Страница сгенерирована за 0.081 секунд. Запросов: 17.