Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Power Counter отчет по времени сеанса
 
 автор: Loki   (03.08.2005 в 17:24)   письмо автору
 
 

В общем, это вроде как единственный отчет, которого у нас пока нет:)
Мне он в общем-то нафиг не упал (вполне хватает глубины просмотра), но народ неоднократно спрашивал, вот я и призадумался.
Варианты реализации:
1. в таблицу ip пишем идентификатор сессии.
плюсы - просто как грабли
минусы - таблица будет катастрофически пухнуть

2. заводим еще одну таблицу.
при обращении к странице, проверяем есть ли в таблице такая сессия. если нет, то делаем запись, ip, время старта сессии и ставим в качестве времени сессии, напр. 1 мин. При каждом следующем обращении изменяем длительность сессии на NOW()-putdate+ минута
Плюсы - небольшой размер базы, не надо ничего рассчитывать при формировании отчета
минусы - мы получаемся отрезаны от таблицы ip адресов, так как у нас будут одинаковые ip с разными идентификаторами сессий и как их сопоставлять с просмотренными страницами не очень понятно... разве что по времени, но пока не придумал красивого решения.
Есть мысли?

   
 
 автор: cheops   (03.08.2005 в 17:51)   письмо автору
 
   для: Loki   (03.08.2005 в 17:24)
 

С сессиями не всегда удобно работать и они не везде приемлемы - например, в WAP или при подключении счётчика внизу страницы. Кроме того, сессии имеют побочные эффекты, типа не сохранения содержимого в формах при возврате методом back - в общем мне не очень идея ввода сессий нравится.

   
 
 автор: Loki   (03.08.2005 в 21:46)   письмо автору
 
   для: cheops   (03.08.2005 в 17:51)
 

другие предложения?
можно попытаться исхитриться ставшим уже традиционным способом: циклический обход данных по суткам. При этом появляется ошибка на тех, кто сидит в районе полуночи и не учитывается возможность захода с одного ip разных посетителей. Но в целом, статистика - наука не точная:)
Замутим?:)

   
 
 автор: cheops   (03.08.2005 в 22:00)   письмо автору
 
   для: Loki   (03.08.2005 в 21:46)
 

Хм... было бы неплохо... с моей стороны какие-нибудь заготовки нужны? Или тут всё можно обычными SQL-запросами сделать?

   
 
 автор: Loki   (03.08.2005 в 23:10)   письмо автору
 
   для: cheops   (03.08.2005 в 22:00)
 

>с моей стороны какие-нибудь заготовки нужны?
Да в общем-то нет... для этого можно даже глубину просмотра адаптировать:) Надо только время выкроить;)

   
 
 автор: Loki   (04.08.2005 в 00:47)   письмо автору
3.2 Кб
 
   для: Loki   (03.08.2005 в 23:10)
 

Собственно, сделал... там кроме sql запроса и нет ничего:)
Вот только но могу понять, почему время выводится по гринвичу... или может это только у меня так?! К любому значению прибавляется 3 часа... Странно это.
Я к каждому значению прибавил 60 сек на просмотр последней страницы. Короче, подскажите как быть с локальным временем и смотрите нет ли косяков:)

   
 
 автор: Loki   (04.08.2005 в 12:48)   письмо автору
 
   для: Loki   (04.08.2005 в 00:47)
 

Убрал из "точек входа" поисковых роботов. Видать, по недосмотру их в прошлый раз прохлопал.

   
 
 автор: cheops   (04.08.2005 в 15:34)   письмо автору
 
   для: Loki   (04.08.2005 в 00:47)
 

/*C сомнением наблюдая результат :)))*/ Так а вы просто три часа что-ли вычли или к Гринвичу привели?

   
 
 автор: Loki   (04.08.2005 в 17:23)   письмо автору
 
   для: cheops   (04.08.2005 в 15:34)
 

Обидны ваши слова мне:) Посмотрите sql запрос - он достаточно простой, хоть и здоровый: находим первое и последнее посещение за текущий день с одного ip, переводим в секунды, вычитаем из последнего первое, округляем кратно минутам и прибавляем одну "условную" минуту для последней страницы. Переводим результат в часы и минуты. Все! Больше там нет ничего:)
А, ну да: вместо date поставил gmdate. Просто выкладывать заново не стал.

   
 
 автор: cheops   (04.08.2005 в 22:07)   письмо автору
 
   для: Loki   (04.08.2005 в 17:23)
 

>А, ну да: вместо date поставил gmdate.
Я просто хотел это услышать :))) Чтобы никакого хитрого момента не опустить :)

   
 
 автор: cheops   (04.08.2005 в 22:35)   письмо автору
 
   для: Loki   (04.08.2005 в 17:23)
 

Хочу поделится хвостом статистики
10:26    1        
10:42    1        
10:57    1        
11:25    1        
11:34    1        
11:35    1        
12:28    1        
12:55    1        
13:21    1        
15:49    1        
15:51    1        
16:05    1        
17:53    1        
18:04    1        
18:06    1        
19:40    1        
20:23    1        
20:29    1        
21:24    1        
21:29    1        
21:52    1        
21:59    1        
22:01    1        
22:20    1        
22:28    1

Такие дикие значения при каких условиях возможны? Что человек/робот постоянно сидит или с какими-то интервалами?

   
 
 автор: Loki   (04.08.2005 в 23:51)   письмо автору
 
   для: cheops   (04.08.2005 в 22:35)
 

Да собственно, это мы с вами и осталвяем такие: посидели немного до полуночи, затем немного после и, если ip статический, то вот всм 24 часа на сайте... можно попробовать урезать таких по количеству просмотренных страниц, но как оформить логику подобного урезания я пока не представляю.

   
 
 автор: cheops   (04.08.2005 в 23:56)   письмо автору
 
   для: Loki   (04.08.2005 в 23:51)
 

Лучше тогда оставить... чтобы знать активность...

   
 
 автор: cheops   (04.08.2005 в 23:51)   письмо автору
 
   для: cheops   (04.08.2005 в 22:35)
 

У нас правда каждый день Yandex утюжит, меньше 2000 хитов он не делает... Может он с разных IP-адресов ходит...

   
 
 автор: cheops   (04.08.2005 в 22:56)   письмо автору
 
   для: Loki   (04.08.2005 в 17:23)
 

Не могли бы вы также снабдить меня файлом parm.gif :))) А то у меня гистаграмму не видно :(

   
 
 автор: Loki   (04.08.2005 в 23:47)   письмо автору
 
   для: cheops   (04.08.2005 в 22:56)
 

Файл - пожалуйста. Вт только не уверен что вы придется от него в восторг - у меня-то он вписан в дизайн:)

   
 
 автор: Loki   (05.08.2005 в 00:02)   письмо автору
 
   для: cheops   (04.08.2005 в 22:56)
 

Странно, а как же вы до сих пор смотрели глубину просмотра? Там же такая же гистограмма:)

   
 
 автор: cheops   (05.08.2005 в 00:07)   письмо автору
 
   для: Loki   (05.08.2005 в 00:02)
 

Да как-то по циферкам... а вы гистраграмму не позже вводили - у меня только два столбца, /*задумчиво так*/ а может я его сам стёр... увидел лишний пустой столбец и потёр :)))

PS Кстати гистограмма должна вытягиваться до конца таблицы или до середины?

   
 
 автор: cheops   (05.08.2005 в 00:10)   письмо автору
 
   для: cheops   (05.08.2005 в 00:07)
 

Не могли бы вы мне ещё раз тогда глубину просмотра выложить, чтобы можно было восстановить гистограмму? :)))

   
 
 автор: Loki   (05.08.2005 в 00:15)   письмо автору
3.2 Кб
 
   для: cheops   (05.08.2005 в 00:10)
 

Как сейчас помню, еще спрашивали не gdlib ли я прикрутил для гистограммы:)

Гистограмма вытягивается до конца таблицы

   
 
 автор: cheops   (05.08.2005 в 00:20)   письмо автору
 
   для: Loki   (05.08.2005 в 00:15)
 

:))) А да, вспомнил... а потом из головы вылетело ещё подумал, зачем третий столбец с двумя так красиво :)))

   
 
 автор: Loki   (05.08.2005 в 00:23)   письмо автору
 
   для: cheops   (05.08.2005 в 00:20)
 

Одна голова - хорошо, а две - красиво:)

   
 
 автор: Loki   (05.08.2005 в 00:33)   письмо автору
 
   для: cheops   (05.08.2005 в 00:07)
 

наврал я про гистограмму: она шириной 400 пикселей. Просто у меня дизайн не резиновый, вот я про это и забыл...

   
 
 автор: Sasha   (05.08.2005 в 01:24)   письмо автору
 
   для: Loki   (05.08.2005 в 00:33)
 

Можно не в тему..
Забавный реферер у меня счётчик выдаёт

Field blocked by Outpost (http://www.agnitum.com)

Это как? :)

   
 
 автор: Loki   (05.08.2005 в 01:50)   письмо автору
 
   для: Sasha   (05.08.2005 в 01:24)
 

Это значит что рефферер потерт файрволом.
У меня, например, кроме того что упомянули вы есть такой:

Field blocked by ProxyWay (http://www.ProxyWay.com)

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования