ShopForBux.com
Всё обо всём

Кто онлайн? (Как правильно?)

233 109
user avatar
Пользователь
На сайте 13 лет
Сообщений : 251
Репутация : 0
10 лет назад #7417
Здравствуйте ребята программисты, заметьте мы не в матюкальне! \":wink:\"

Вопрос именно таков: как правильно определить залогенного пользователя то есть онлайн (online)?

ПС: по IP не актуально!
user avatar
Пользователь
На сайте 15 лет
Сообщений : 858
Репутация : 0
10 лет назад #7416
MARIOS, поставь корректнее вопрос
user avatar
Пользователь
На сайте 13 лет
Сообщений : 251
Репутация : 0
10 лет назад #7418
Цитата: ByFly
MARIOS, поставь корректнее вопрос

Как определить кто онлайн? (залогеннин)
Юзер вошедший в аккаунт
user avatar
Пользователь
На сайте 15 лет
Сообщений : 858
Репутация : 0
10 лет назад #7419
MARIOS, яндексировать пробовал?) в интернете куча скриптов и примеров готовых \":smile:\"
user avatar
Пользователь
На сайте 13 лет
Сообщений : 251
Репутация : 0
10 лет назад #7420
Цитата: ByFly
яндексировать пробовал?)

ну почти, я гуглю, примеры есть хотел узнать Вашу логику.
user avatar
Пользователь
На сайте 15 лет
Сообщений : 858
Репутация : 0
10 лет назад #7421
MARIOS, я пока с этим не сталкивался, даже не думал, хотя есть смысл задуматься, ибо надо будет)

я не знаю как там происходит это всё, как-то при обновлении страницы передается запрос и записывается в бд, но думаю проще будет сделать массив из сессии или типа того и передавать туда логин юзера и страницу, на которой он, +ajax и js, крч надо подумать и спроектировать)
user avatar
Пользователь
На сайте 13 лет
Сообщений : 1859
Репутация : 0
10 лет назад #7422
Цитата: MARIOS
Здравствуйте ребята программисты

привет )))

Цитата: MARIOS
Вопрос именно таков: как правильно определить залогенного пользователя то есть онлайн (online)?

В файле который работает на всех страницах, например шаблоне, записываешь в таблицку phpid и дату, затем нижу првоеряешь если дата меньше на 30 то делаешь делте запрос и удаляешь эту запись. В запись еще можешь сувать ид пользователя на сайте, таким образом можешь првоерять онлайн он или нет, ведь зашев на сайт в базу запишется его ид сесии, а при неактивности больше 30 сек оно удалится. Так что если он на сайте что то делает она не удалится и ты ее найдешь в базе по его ид
user avatar
Пользователь
На сайте 15 лет
Сообщений : 858
Репутация : 0
10 лет назад #7423
Pretorian, ага, люди пытаются кэшировать записи, а ты тут толкаешь постоянный запрос в корень \":facepalm:\"
подумай, что будет, если онлайн 10 тысяч пользователей? ну или хотя бы 1 тысячу пользователей.
user avatar
Пользователь
На сайте 13 лет
Сообщений : 1859
Репутация : 0
10 лет назад #7424
Цитата: ByFly
ага, люди пытаются кэшировать записи, а ты тут толкаешь постоянный запрос в корень

Вопервых начнем с того что автор ТС не просил показать ему кешированый вариант. Он спросил как можно. Я и показал как можно.
Вовторых ты если хочешь что то сказать, так скажи прямо, не нужно подсерать, перекручивая, это качество слабых.
Втретих, видео смотрел? Читал до конца? Что мне на твое мнение?

Цитата: ByFly
подумай, что будет, если онлайн 10 тысяч пользователей? ну или хотя бы 1 тысячу пользователей.

А вот мне интересно, а что будет? Давай подискутируем, что будет от 1 запроса, который выполняется 1 раз при входе, и 2 раз при выходе. Что будет?

P.S. У тебя в скрипте таких запросов штук 700 примерно, и ниче ))) тебе же можно, бо ты великий гГуру. \":request:\"
user avatar
Пользователь
На сайте 15 лет
Сообщений : 858
Репутация : 0
10 лет назад #7425
Ребята, после долгих споров, обсираловок и тд и тп.
ПРЕТОР считает себя норм проггером, не считает себя говнокодером и сует в корень sql запрос, который выполняется при каждом обновлении страницы.

Как вы считаете, он может что-то нормальное программировать?

Ну, не буду пустозвоном.
Я уверен, что нормальные программисты делают так: при входе на сайт единоразово пишут запрос sql в бд, для первой записи, в которой содержится текущее время time().
Для вывода используют запрос типа: $timedatabase+60(sec) > time() -> пользователь онлайн, иначе пользователь оффлайн.

Далее для обновление времени пользователя онлайн вешаем событие на click, допустим на ссылку или просто клик мыши, если был произведен клик мыши или переход по ссылке, то обновляем $timedatabase -> time()
Так же можно повесить событие js, допустим водишь мышкой, то тоже обновляем $timedatabase -> time(), но с вождением мыши тоже таймер надо ставить.

Выслушаю Ваши выводы, критику.

Цитата: Pretorian
А вот мне интересно, а что будет? Давай подискутируем, что будет от 1 запроса, который выполняется 1 раз при входе, и 2 раз при выходе. Что будет?


ты дурак или совсем? как он обновлять time() будет???
если ты пихаешь один запрос в бд при входе, и 2-ой при выходе, то о каком онлайне может быть идти речь?

Допустим пользователь вошел на сайт, записался его time()
Он ходит по сайту, 5мин, 10мин, 30мин, у тебя значит time() не обновляется???
так а смысл твоего онлайна??? \":facepalm:\"
user avatar
Пользователь
На сайте 15 лет
Сообщений : 663
Репутация : 0
10 лет назад #7426
Самое элементарное - яваскрипт повесь на сторону юзера с таймаутом 30 секунд и запрос отправляй на спец файл им.
user avatar
Пользователь
На сайте 15 лет
Сообщений : 858
Репутация : 0
10 лет назад #7427
Цитата: steam
Самое элементарное - яваскрипт повесь на сторону юзера с таймаутом 30 секунд и запрос отправляй на спец файл им.


Хорошая идея *cool*
user avatar
Пользователь
На сайте 13 лет
Сообщений : 1859
Репутация : 0
10 лет назад #7428
Цитата: ByFly
как он обновлять time() будет???

ну например так как у меня в 5 скрипте сделано даун. Програмирование это инструмент разума, он дает тебе свободу действий, как он обновлять будет это уже вопрос к программисту а не к языку или платформе.

Цитата: ByFly
Хорошая идея *cool*

не очень так как яваскрипт работает на стороне клиента Я бы не доверял запись в файл всем кому попало и возможность менять алгоритм. С этим должен работать серверный язык.
user avatar
Пользователь
На сайте 15 лет
Сообщений : 858
Репутация : 0
10 лет назад #7429
Pretorian, ты сути как всегда не понял, нормальные проекты делают break; то есть если постоянный запрос или запрос при обновлении страницы, он должен кэшироваться, ибо при большом онлайне я уверен, будет перегрузка
user avatar
Пользователь
На сайте 13 лет
Сообщений : 1859
Репутация : 0
10 лет назад #7430
Цитата: ByFly
нормальные проекты делают break;

а у тебя как сделано на буксе? \":bully:\"
user avatar
Пользователь
На сайте 15 лет
Сообщений : 858
Репутация : 0
10 лет назад #7431
Pretorian, претор, тебе до этого еще далеко))) во первых, почти все мои запросы вызываются функциями, а не постоянное их подключение.
Далее, я еще не делал, но позже сделаю кэширование тех функций, которые постоянно вызываются.
Далее, я во всю использую session, зачем мне допустим тянуть имя пользователя, логин или пароль из бд? Можно это внести в сессию.

Претор, покажи какой ты используешь код, чтобы проверить авторизирован ли пользователь и если нет, то закрыть доступ к странице.
user avatar
Пользователь
На сайте 15 лет
Сообщений : 663
Репутация : 0
10 лет назад #7432
Цитата: Pretorian
не очень так как яваскрипт работает на стороне клиента Я бы не доверял запись в файл всем кому попало и возможность менять алгоритм. С этим должен работать серверный язык.

Кто сказал что надо писать что то? можно сессию слать или id какой нибудь и всё. По айпи определять.
user avatar
Пользователь
На сайте 13 лет
Сообщений : 1859
Репутация : 0
10 лет назад #7433
Цитата: ByFly
, претор, тебе до этого еще далеко)))

я видел какое далеко, взял скрипт мой который я из за неудачной сборки выкинул в паблик, поменял пару картинок, убрал пару кнопок и разделов, добавил пару джикевери кнопочек с интернета, и ходишь пиздишь какой ты прокодер, блять ну ты же сам себя не обманишь? Как ты спать ложишся с такими поступками?
user avatar
Пользователь
На сайте 15 лет
Сообщений : 858
Репутация : 0
10 лет назад #7434
Pretorian, ахаха, сука, ахахаха, а ты до этого не додумался, написать кучу функционала, прикрепить jquery, ajax, js и прочее \":facepalm:\"

Pretorian, один хуй кого я блядь слушать? не пиши мне больше!
пиши дальше в своём говнокоде всякие глобальные sql запросы, которые нагружают сервак, да и вообще спроектированы через жопу \":lol:\"
user avatar
Пользователь
На сайте 13 лет
Сообщений : 1859
Репутация : 0
10 лет назад #7435
Цитата: ByFly
Pretorian, один хуй кого я блядь слушать? не пиши мне больше!
пиши дальше в своём говнокоде всякие глобальные sql запросы, которые нагружают сервак, да и вообще спроектированы через жопу \":lol:\"

окай, покрайне мере если меня кто то спросит "а что ты сделал" я ему дам ссылку на свой 5 скрипт. Имхо. Что даш ты? Пустословие?...
Автор темы
author avatar
MARIOS
Пользователь
На сайте 13 лет
Сообщений 251
Тем 24
Репутация 0
Теги темы
Автор не добавил тегов для этой темы
Ответить
Написал(а):