[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Кто на сайте
Страницы: 1, 2
jalvar
Как узнать сколько авторизованных пользователей на сайте.?

_____________
jallvar.oxnull.net - мой блог.
sergeiss
А свои мысли какие по этому поводу? smile.gif

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
Игорь_Vasinsky
вот блин... еслиб не sergeiss
я б всё выложил как на духу...

а так давайте думать.. давайте разбираться...

Так как думаешь - что может "придти" и быть на сайте с пользователем?

это не - друг... начинается и "С"

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Trianon
SELECT COUNT(*) FROM ... нет? smile.gif
Игорь_Vasinsky
т.е. что может получить пользовател - придя на сайт (а после ухода - оно умирает)

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Invis1ble
Trianon
ай, ну зачем? =)

_____________

Профессиональная разработка на заказ

Я на GitHub | второй профиль

eXaM
А мне кажется, можно завести столбик, куда записывать временную метку при любом проявлении активности, и выбирать тех, у кого разница между этой меткой и текущей меньше 300 секунд. Так получатся активные за последние 5 минут. Не? А приходит и уходит сессия что ли?
Игорь_Vasinsky
eXaM
ну блин шпион.

нужно же чтоб человек сам думать начал, и нал с простого...

а ты алгоритм выкладывать...



_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
eXaM
Так я тоже сам думать начал. biggrin.gif
Игорь_Vasinsky
ну молодец... тогда с ТС - код biggrin.gif

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Krevedko
1) я сначала подумал, что речь идет про этот форум smile.gif
2) а без базы это как-то можно ? а то посещаемость сайта скажем 1000000 человек в день (и это не штука). тут каждый запрос на счету
eXaM
Эй, че сразу ТС, мне тоже интересно, правильно ли я додумался:

<?php
$result = mysqlQuery('SELECT * FROM `irb_users` WHERE `last_activity` > ' . (time() - 300));

А без базы тоже можно. Пихать в сериализованном виде в файл массив такого вида:
array(array('username' => 'username',
'timestamp' => 99999999));

а потом брать его и обрабатывать циклом:

$new_array = array();
foreach($unserialized as $num => $array)
{
if($array['timestamp']) > (time() - 300)
$new_array[] = $array['username'];
}

И на выходе получаем массив с именами юзеров, активных за последние 5 минут. Главное — не забыть сериализовать $new_array и поместить обратно в файл. Но с файловой системой могут проблемы возникнуть (неизвестно, будет ли прирост или убыток производительности по сравнению с БД и что произойдет, если 2 пользователя одновременно захотят узнать, кто онлайн), так что БД, пожалуй, предпочтительнее.
Игорь_Vasinsky
можно допустим при заходе добовлять 1, при выходе отнимать, ну это если перечень юзеров не нужен.

А так смыс тысячи имен выводить?

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
eXaM
Игорь_Vasinsky, а как убавить 1, если пользователь закроет браузер? Или если электричество у него отключат? Или если на него рояль упадет?
Я там предыдущее сообщение обновил, а пока обновлял, под ним понаписали.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.