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

Форум PHP

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Часовые пояса и учет посещаемости сайта во времени

Сообщения:  [1-10]   [11-11] 

 
 автор: multiBrain   (15.11.2005 в 11:13)   письмо автору
 
   для: glsv (Дизайнер)   (12.11.2005 в 21:45)
 

Веб-интерфейс есть, не через PhpAdmin же клиент статистику смотреть будет, думаю это сложновато будет для не разработчиков.
Во-ревых надо расчитывать, что клиент туп, и застовлять его напрягатся по поводу каких-то поясов, не хорошо.
А, во-вторых я не очень понял какой ему пояс надо выставлять: себя подгонять под сервер, смысла нет, имитировать сервер на выдаче инфы под себя - это я как-то с трудои себе предстовляю.

   
 
 автор: glsv (Дизайнер)   (12.11.2005 в 21:45)   письмо автору
 
   для: multiBrain   (12.11.2005 в 10:30)
 

А как клиент просматривает статистику? У него есть web-интерфейс? Тогда может быть пусть сам и выставляет себе часовой пояс (предусмотреть эту возможность в приложении). И прибавлять/убавлять время уже при SQL-запросе к базе данных при выводе данных конкретному клиенту.
Тогда вам не нужно будет дергать серверную часть, она будет едина для всех. Сервер есть сервер - сверять время по нему всегда надежней, чем по времени клиента.

   
 
 автор: cheops   (12.11.2005 в 11:31)   письмо автору
 
   для: multiBrain   (12.11.2005 в 10:30)
 

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

   
 
 автор: multiBrain   (12.11.2005 в 10:30)   письмо автору
 
   для: multiBrain   (11.11.2005 в 16:32)
 

Единственное до чего я додумался:
Можно попробовать ввести конф. переменную с разницей часов относительно клиента, в начале каждого скрипта,
где есть операции со временем, высчитывать новую дату , прибовляя эту переменную (получая время как у клиента), и
везде вместо текушего времени использовать полученное время, вплоть до записи в БД вместо NOW(). Т.е. вести все записи на сервере относительно не его реального времени, а клиента.
Конечно, все это с учетом известности клиентского часового пояса и если он не будет меняться.
В принципе, для ряда случаев (таких как
частное использование системы статистики) схмема подходит.

   
 
 автор: multiBrain   (11.11.2005 в 16:32)   письмо автору
 
   для: cheops   (11.11.2005 в 15:41)
 

О смене времени на сервере конечно речи не идет. Остается только фальсифицировать время на выдаче клиенту. Еще надо подумать как...
В случае с созданием комерческих систем статистики для частного использования почти навернека будет ограниченное кол-во клиентов, находящихся в однои поясе, который за рание будет известен. Соответственно данные можно выдовать относительно клиента. Скажем 3 часа разницы: на серваке 15, у клиента 12, то эти 3 часа (13, 14, 15) просто пока не показывать. Сложнее если наоборот: на серваке 12, у клиента 15, чем в этот раз заполнить эти 3 часа...
Можно еще попробовать ввести некий коэфифиент равный разнице поясов (с учетом известности ее), который постоянно прибовлять (коэф. + или -) ко всему времени, оперерирумому в скриптах.
Схема только для частного использования, да и мутарная.

В тему: как раз сегодня в каком-то из сообщений видел фразу: этот вопрос к cheops'у, он правда только вечером будет. М-да, для человека из Владивостока понятие вечера в данном контексте становится двояким.

   
 
 автор: multiBrain   (11.11.2005 в 16:06)   письмо автору
 
   для: cernos   (11.11.2005 в 15:35)
 

я про второй вариант.
Определить время клиента явой коечно можно, правда не очень надежно, нет уверности
что часы в оси правильно выставленны, да сам JS может быть выключен, вообщем
не хочется пологаться на клиента.

   
 
 автор: cheops   (11.11.2005 в 15:41)   письмо автору
 
   для: multiBrain   (11.11.2005 в 15:24)
 

Нужно подумать... там ведь ещё плюс ко всему база данных - в ней точно локально изменить время не получится...

   
 
 автор: cernos   (11.11.2005 в 15:35)   письмо автору
 
   для: cheops   (11.11.2005 в 13:51)
 

Он хочет сделать то, что сделать неочень сложно!
Вариант №1:

Т.е. какойто юзер зашел на сайт у него 02:00 на часах (по GMT +01:00), следом заходит другой человек, у которого GMT(+03:00) Т.е. наблюдается разница во времмени в 2 часа!

Мы просматривая статистику видим что по московскому времени зашли они в одно и тоже время!

Ваиант №2

Т.е. на хосте стоит GMT +01:00, у хозяина хоста, т.е. у хозяина сайта время +03:00!
Необходимо выводить статистику изходя из GMT 03:00!

Определять GMT можно в приципе у хозяина javascript'ом
и строить статистику изходя из полученного GMT вычитанием и прибавлением часов


Мне кажется что он хотел услышать ответ на второй вариант, так как может образоваться непонятки со стороны хозяина!
Пример:
У хоста время gmt +03:00
А у хозяина сайта +01:00
При просмотре статистики хозяин в шоке, думают что за хрень, сейчас только 17:30 а посещения есть уже за 19:00


Мда, мой топик уже неактуальный, блин с этим долбаннным инетом, пока запостишь..... :\

   
 
 автор: multiBrain   (11.11.2005 в 15:24)   письмо автору
 
   для: cheops   (11.11.2005 в 13:51)
 

Смысл в том, что если у сервера и клиента установлены разные часовы поясы,
получается разница вов времени. У меня на компе также как и на этом сервере
московское время, поэтому когда я оставляю сообшение, скажем, в 15.00, то у меня и
на сайте показано 15.00 и на часиках в винде 15.00 - все отлично. Но когда я специально
поменял пояс (ткнул по Екатеренбургу +2 часа), то на сервере на форуме 15.00, у меня 17.00
Это я все для примера. Имею я ввиду разницу в показаниях времени на сервере и клиенте.
Так если подобная ситуация будет с каунтером, то получится, что у меня часики показывают
17.00, а в счетчике текущий час 15.00 и соответственно за все последующие часы (а главное
за 16 и 17) статистики еще нет, для сервера это время еще не настало. В итоге не граммотный
в компьютерах человек (скажем заказчик) в недоумении. Ладно с опережением времени, а если
у меня на компе -3 часа, т.е. на сервере 15.00, у меня 12.00 и я вижу статистику за три
будущих для меня (клиента) часа. В этом случаее заказчик вообще ошалеет, как так: у него на
часиках полдень, а статистика уже к обеду.
В итоге, вопрос стоит в синхронизаии "показаний" часов у клиента и на сайте.

   
 
 автор: cheops   (11.11.2005 в 13:51)   письмо автору
 
   для: multiBrain   (11.11.2005 в 13:42)
 

Я чего-то не очень понял что требуется. Где находится сервер и где находится клиент?

   

Сообщения:  [1-10]   [11-11] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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