Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: часовой пояс посетителя..

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Hunter
Отправлено: 14 Декабря, 2009 - 13:52:24
Post Id



Частый гость


Покинул форум
Сообщений всего: 214
Дата рег-ции: Дек. 2009  
Откуда: Блага


Помог: 0 раз(а)




Как получить часовой пояс юзера? Может есть в рнр готовая функция??
 
 Top
JustUserR
Отправлено: 14 Декабря, 2009 - 16:16:33
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




Hunter Может с помощью JS получить и передать его на сервер без перезагрузки - самый простой способ (Ведь клиент не обязан посылать в заголовке дату время - значит напрямую никак)
А с помощью JS создаете var dt=new Date(); var hr=dt.getHours(); var dy=dt.getDate(); и передаете это на сервер (К примеру с помощью iframe)
Ниже приведен код на JS
CODE (text):
скопировать код в буфер обмена
  1. <script>
  2. window.sdt=function()
  3. {var dt=new Date(); var hr=dt.getHours(); var dy=dt.getDate();
  4. var dts=hr+";"+dy; dts=escape(dts);
  5. var sv_url="Путь к PHP-скрипту для обработки часового пояса посетителя вероятно с query-строкой"
  6. if(sv_url.indexOf("?")==-1) {sv_url=sv_url+"?"+dts}
  7. else {sv_url=sv_url+"&"+dts}
  8. frames["dtt"].location.href=sv_url
  9. }
  10. window.svl=function()
  11. {if(frames["dtt"].location.href!="about:blank")
  12. { Тут ваши действия по обновлению страницы к примеру  }
  13. else {}
  14. }
  15. </script>
  16. <iframe name="dtt" src="about:blank" onLoad="svl()">
  17. </iframe>


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Мелкий Супермодератор
Отправлено: 14 Декабря, 2009 - 16:31:13
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Юзера? Для этого нужно этот часовой пояс у юзера и уточнить - JS, форма, AJAX, на выбор. В пределах 1 скрипта это не сделать, т.к. часовой пояс серверу не передаётся в заголовках.


-----
PostgreSQL DBA
 
 Top
Hunter
Отправлено: 14 Декабря, 2009 - 16:44:41
Post Id



Частый гость


Покинул форум
Сообщений всего: 214
Дата рег-ции: Дек. 2009  
Откуда: Блага


Помог: 0 раз(а)




большое спасибо.
a можно без явы как нибудь обойтись?
суть проблеммы такова: нужо в определенное поле БД просто значение часового пояса клиента. может можно как нибудь получить эти данные на основе анализа ip-адресса клиента..они ведь не фонарно задаются а зависят от ГП?? (ток не ржать, с такой задачей не сталкивался еще)..
если нет придется с JS разбираться..
 
 Top
Мелкий Супермодератор
Отправлено: 14 Декабря, 2009 - 16:51:03
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




IP, на сколько я помню, зависят от страны. А в России сколько там сейчас часовых поясов?

Так что без явы - html-формой, спрашивающей: у вас какой часовой пояс? и список выбора к ней.


-----
PostgreSQL DBA
 
 Top
Hunter
Отправлено: 14 Декабря, 2009 - 16:55:15
Post Id



Частый гость


Покинул форум
Сообщений всего: 214
Дата рег-ции: Дек. 2009  
Откуда: Блага


Помог: 0 раз(а)




все понял, спасибо..
(Добавление)
вот еще: не на всех клиентских машинах системное время выставленно корректно, по разным причинам, а получить часовой пояс нужно именно без явного запроса к пользователю. поэтому я и спросил про адресса.
спс)
 
 Top
JustUserR
Отправлено: 14 Декабря, 2009 - 17:42:23
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




Hunter Даже если на клиентской машине время не совсем точно то все равно его достаточно для определения часового пояса + в JS в Date такая функция есть
Просто используйте приведенный мною выше код


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Hunter
Отправлено: 21 Декабря, 2009 - 16:53:26
Post Id



Частый гость


Покинул форум
Сообщений всего: 214
Дата рег-ции: Дек. 2009  
Откуда: Блага


Помог: 0 раз(а)




нашел как сделать это и не только, все предельно просто, есть готовые сервисы для этого с постоянно пополняющимися базами данных. нашел и скрипт нужный. только пока проблема с библиотеками
 
 Top
JustUserR
Отправлено: 22 Декабря, 2009 - 01:04:19
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




Hunter Так чем вам самое очевидное решение на JS не угодило - http://js-reference[dot]narod[dot]ru/met[dot][dot][dot]mezoneoffset[dot]htm - помоему проще и лучше не придумать


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Hunter
Отправлено: 22 Декабря, 2009 - 11:41:47
Post Id



Частый гость


Покинул форум
Сообщений всего: 214
Дата рег-ции: Дек. 2009  
Откуда: Блага


Помог: 0 раз(а)




JustUserR ну ява ведь будет использовать системное времч?
а если оно установленно вообще с разницей в несколько часов, мало ли по какой причине..
а так конечно все устраивает, но я пока это отложил, как дойду до этого момента то уже буду конкретно экспериментировать...
 
 Top
JustUserR
Отправлено: 22 Декабря, 2009 - 16:19:54
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




Hunter Честно скажу вот что - пользователя может спокойно зайти через proxy-сервер и его IP поменяется и часовой пояск уже будет определен неверно - а вот людей которые изменяют время на системных часах ради того чтобы обмануть какойто сайт я не видел
Так что лучше чем gettimzoneoffset или подобной фунци не придумать - потому что если уж пользователя захочет сильно подменить свой часовой пояс он это сделает Улыбка


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Hunter
Отправлено: 22 Декабря, 2009 - 16:27:03
Post Id



Частый гость


Покинул форум
Сообщений всего: 214
Дата рег-ции: Дек. 2009  
Откуда: Блага


Помог: 0 раз(а)




JustUserR дык хтож спорит? подменить все что угодно можно)))) все зависит от того имеет ли подмена практический смысл)))
gettimzoneoffset - я обязательно попробую. ))
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB