Помощник
|
Как определить сколько человек находится на сайте? |
sc2r2bey
|
Сообщение
#1
|
||
|
|
||
|
|||
FordogeN |
3.5.2010, 16:38;
Ответить: FordogeN
Сообщение
#2
|
|
У нас есть таблица лога посещений с именем "log" и структурой ( id | ip | date дата без минут | datei минуты )
[php]<? $date=date(...); // Текущая дата. Например 22 03.05.2010 (часы дата.месяц.год) $datei=date(i); // Сколько сейчас минут $count_q = mysql_query("SELECT * FROM log WHERE date LIKE '$date' AND datei LIKE '$datei' GROUP BY ip"); $count = mysql_num_rows($count_q); echo"За эту минуту сайт посетило $count человек"; ?>[/php] ps. А над чем работаешь?) -------------------- |
|
|
Matt |
3.5.2010, 16:42;
Ответить: Matt
Сообщение
#3
|
|
Есть разные виджеты для этого. Видел даже такие, которые показывают гос-ю принадлежность онлайн-посетителей. Всё зависит от движка сайта, поищи в нете, точно будут.
-------------------- |
|
|
FordogeN |
3.5.2010, 16:44;
Ответить: FordogeN
Сообщение
#4
|
|
А если человек не юзает движки, а пишет свой? Как я на пример)
-------------------- |
|
|
reaboom |
3.5.2010, 16:46;
Ответить: reaboom
Сообщение
#5
|
|
http://www.masterwebs.ru/topic/6931-onlain/page-2#entry40965 - почти, тоже самое.
Нужна таблица: CREATE TABLE sessions Код, который должен выполняться на каждой странице: [php]<?php // Включаем сессию session_start(); // Текущее время $current_time = time(); // Подключаемся к MySQL mysql_connect('localhost', 'root', '12345'); mysql_select_db('test'); // Выбираем пользователя с такой-же ID-сессий, как сейчас $res = mysql_query("SELECT * FROM sessions WHERE session_id = '". session_id() ."'"); // Если такого пользователя не существует, то нужно создать его if (!mysql_num_rows($res)) { mysql_query("INSERT INTO sessions (session_id, last_time) VALUES('". session_id() ."', '". $current_time ."')"); } else { $row = mysql_fetch_array($res); // Обновляем таблицу mysql_query("UPDATE sessions SET last_time = '". $current_time ."' WHERE session_id = '". session_id() ."'"); } ?>[/php] Код который подсчитвает количество пользователей онлайн (будем считать, что пользователь онлайн, если последний раз он обновил страницу не позднее 5-ти минут назад): [php]<?php // Включаем сессию session_start(); // Текущее время $online_time = time() - 300; // Подключаемся к MySQL mysql_connect('localhost', 'root', '12345'); mysql_select_db('test'); // Выбираем пользователей, активность которых была не позднее 5-ти минут назад $res = mysql_query("SELECT * FROM sessions WHERE last_time > '". $online_time ."'"); print mysql_num_rows($res); ?>[/php] Так-же надо не забывать, время от времени очищать таблицу от устаревших записей. P.S. Код состряпал за 2 минуты (и не проверял), так-что может что-то не работать :) Но суть должна быть понятна |
|
|
ZiTosS |
3.5.2010, 19:29;
Ответить: ZiTosS
Сообщение
#6
|
|
sc2r2bey, всё таже таблица с сессиями. Уже тема была про онлайн Тут не важно кто зареган, а кто нет, важно, что у каждого посетителя будет свой id_session. Можно ориентироваться по нему, он псевдоуникален.
|
|
|
sc2r2bey
|
Сообщение
#7
|
|
а какие данные нфдо сканерить и как?
-------------------- программирую web и для we |
|
|
ZiTosS |
3.5.2010, 21:14;
Ответить: ZiTosS
Сообщение
#8
|
|
|
Надо просто при каждом обращении к странице сайта обновлять таблицу сессий, id сессии можно получить функцией: session_id()
А так же считать сколько человек сейчас в онлайне. А вот удалять данные устаревших сессий советовал бы через СRON
|
|
|
||
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
Странный трафик на сайте длительное время | 34 | TABAK | 9158 | 24.4.2024, 23:38 автор: Arsenwenger |
|
Как в пушсетках покупают по 100-200 тысяч кликов за день? | 2 | Boymaster | 719 | 24.4.2024, 17:52 автор: Boymaster |
|
CryptoCloud — прием USDT, BTC, ETH, LTC на любом сайте | 37 | CryptoCLoud | 10832 | 24.4.2024, 15:37 автор: CryptoCLoud |
|
Боты могут делать пушподписки на моём сайте? | 3 | Megaspryt | 993 | 24.4.2024, 5:18 автор: Skyworker |
|
Как вы отдыхаете от работы за компом | 151 | adw-kupon.ru | 19905 | 23.4.2024, 13:52 автор: Vmir |
Текстовая версия | Сейчас: 26.4.2024, 2:44 |