imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Веб-мастеру > Веб-программирование
Опции темы
Старый 28.07.2005, 14:05     # 1
Goryn
::VIP::
 
Аватар для Goryn
 
Регистрация: 06.03.2003
Адрес: DZ, LBP, Moscow
Пол: Male
Сообщения: 633

Goryn Имеются все основания чтобы гордиться собойGoryn Имеются все основания чтобы гордиться собойGoryn Имеются все основания чтобы гордиться собойGoryn Имеются все основания чтобы гордиться собойGoryn Имеются все основания чтобы гордиться собойGoryn Имеются все основания чтобы гордиться собойGoryn Имеются все основания чтобы гордиться собойGoryn Имеются все основания чтобы гордиться собойGoryn Имеются все основания чтобы гордиться собой
Как определить страну посетителя?

Задача такая: при заходе на сайт надо определить странц посетителя и выдать ему страницу на соотвествующем языке. Языка три - русский, немецкий и английский.

То есть допустим если он из России - то на русском, из Германии - на немецком, всем остальным - на английском.

Не подскажет ли кто-либо соотвествующий код на PHP или Perl?
__________________
Меня многие спрашивают, как я живу с тремя головами... На самом деле, я триедин, как Великие Бобы!
Goryn вне форума  
Старый 28.07.2005, 14:09     # 2
RaZEr
МОД-Оператор ЭВМ
 
Аватар для RaZEr
 
Регистрация: 18.04.2002
Адрес: Питер
Сообщения: 4 343

RaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех Гуру
http://www.imho.ws/showthread.php?t=74977
RaZEr вне форума  
Старый 03.08.2005, 16:03     # 3
CEO
Full Member
 
Аватар для CEO
 
Регистрация: 31.08.2003
Адрес: где-то между Марсом и Юпитером
Сообщения: 998

CEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собой
Есть еще PHP скрипт IP2Country - определяет страну посетителя по его IP. http://www.lugarus.com/modules.php?n...print&sid=4489
__________________
Старые игры раздают здесь
CEO вне форума  
Старый 03.08.2005, 16:43     # 4
v.2
Junior Member
 
Регистрация: 19.09.2004
Сообщения: 113

v.2 Известность не заставит себя ждать
Для начала советую спросить у админа своего сервака не стоит ли там гео-ип и не могут ли поставить, если не стоит. Проблем меньше будет, заодно получишь грамотную косультацию по этому вопросу.
v.2 вне форума  
Старый 03.08.2005, 19:04     # 5
Ale
Junior Member
 
Регистрация: 22.03.2004
Сообщения: 123

Ale Известность не заставит себя ждатьAle Известность не заставит себя ждать
А я б для начала уточнил что собсно нужно - страна или язык? Ну допустим Швейцария и что дальше? Если надо определить только язык - никакие базы и обслуживающие их скрипты не требуются
Ale вне форума  
Старый 03.08.2005, 19:22     # 6
Sensey
Junior Member
 
Регистрация: 25.12.2002
Сообщения: 114

Sensey Нимб уже пробиваетсяSensey Нимб уже пробивается
А если я из израиля ? но русский то я знаю? Так что лучше дать юзеру определять какой язык ему надо...
__________________
PHP+MySQL
Sensey вне форума  
Старый 15.08.2005, 15:55     # 7
Goryn
::VIP::
 
Аватар для Goryn
 
Регистрация: 06.03.2003
Адрес: DZ, LBP, Moscow
Пол: Male
Сообщения: 633

Goryn Имеются все основания чтобы гордиться собойGoryn Имеются все основания чтобы гордиться собойGoryn Имеются все основания чтобы гордиться собойGoryn Имеются все основания чтобы гордиться собойGoryn Имеются все основания чтобы гордиться собойGoryn Имеются все основания чтобы гордиться собойGoryn Имеются все основания чтобы гордиться собойGoryn Имеются все основания чтобы гордиться собойGoryn Имеются все основания чтобы гордиться собой
Цитата:
Сообщение от v.2
Для начала советую спросить у админа своего сервака не стоит ли там гео-ип
А не дашь ссылочку, где почитать что это за зверь такой?

Кстати, опредедение языка на самом деле было бы лучше. я об этом как раз изначально думал. Но вот вопрос, насколько это осуществимо...
__________________
Меня многие спрашивают, как я живу с тремя головами... На самом деле, я триедин, как Великие Бобы!
Goryn вне форума  
Старый 15.08.2005, 16:13     # 8
RaZEr
МОД-Оператор ЭВМ
 
Аватар для RaZEr
 
Регистрация: 18.04.2002
Адрес: Питер
Сообщения: 4 343

RaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех Гуру
mod_geoip это модуль от www.maxmind.com

есть ещё наш: mod_geo (ftp://ftp.lexa.ru/pub/apache-rus/con...o-2.0.1.tar.gz)
RaZEr вне форума  
Старый 16.08.2005, 00:04     # 9
Hatifnatt
::VIP::
 
Аватар для Hatifnatt
 
Регистрация: 23.05.2005
Пол: Male
Сообщения: 1 064

Hatifnatt Отец (мать) всех ГуруHatifnatt Отец (мать) всех ГуруHatifnatt Отец (мать) всех ГуруHatifnatt Отец (мать) всех ГуруHatifnatt Отец (мать) всех ГуруHatifnatt Отец (мать) всех ГуруHatifnatt Отец (мать) всех ГуруHatifnatt Отец (мать) всех ГуруHatifnatt Отец (мать) всех ГуруHatifnatt Отец (мать) всех ГуруHatifnatt Отец (мать) всех ГуруHatifnatt Отец (мать) всех ГуруHatifnatt Отец (мать) всех ГуруHatifnatt Отец (мать) всех ГуруHatifnatt Отец (мать) всех ГуруHatifnatt Отец (мать) всех ГуруHatifnatt Отец (мать) всех ГуруHatifnatt Отец (мать) всех ГуруHatifnatt Отец (мать) всех Гуру
Цитата:
Goryn:
Кстати, опредедение языка на самом деле было бы лучше. я об этом как раз изначально думал. Но вот вопрос, насколько это осуществимо...
А какие проблемы? Броузер же возвращает язык системы и то какой язык имеет больший вес в его собственных настройках. Прям сходу не скажу как это сделать но вроде не очень сложно.
__________________
Умный не тот кто все знает, а тот кто знает где узнать то чего он не знает.
Life is only what you make it.
Hatifnatt вне форума  
Старый 16.08.2005, 03:20     # 10
Ale
Junior Member
 
Регистрация: 22.03.2004
Сообщения: 123

Ale Известность не заставит себя ждатьAle Известность не заставит себя ждать
Грубо говоря как-то так

PHP:
Код:
if(stristr($HTTP_ACCEPT_LANGUAGE,"ru")) {header("Location: http://rambler.ru");}
elseif(stristr($HTTP_ACCEPT_LANGUAGE,"de")) {header("Location: http://yahoo.de");}
else{header("Location: http://yahoo.com");}
Perl:
Код:
$lang = lc($ENV{'HTTP_ACCEPT_LANGUAGE'});
if (index($lang, "ru")>-1) {print "Location: http://rambler.ru\n\n";}
elsif (index($lang, "de")>-1) {print "Location: http://yahoo.de\n\n";}
else {print "Location: http://yahoo.com\n\n";}
JavaScript:
Код:
if(document.all)lng=navigator.browserLanguage
else lng=navigator.language
lng=lng.toLowerCase()
if (lng.indexOf('ru') > -1) document.location.href = 'http://rambler.ru'
else if (lng.indexOf('de') > -1) document.location.href = 'http://yahoo.de'
else document.location.href = 'http://yahoo.com'
Звиняюсь если где ошибнулся - щас нет возможности проверить все
Ale вне форума  
Старый 18.08.2005, 09:56     # 11
apoc
Junior Member
 
Аватар для apoc
 
Регистрация: 17.08.2003
Адрес: Украина
Сообщения: 150

apoc Реально крут(а)apoc Реально крут(а)apoc Реально крут(а)apoc Реально крут(а)
Ну насчет броузера, понятно... ничего тут военного нет, ну у меня к примеру стоит английский, но сайты на русском читаю, если есть возможность, нахожусь на територии СНГ... то почему мне английскую страницу нужно показывать?

Я считаю, что гео-айпи можно вполне поставить и без админа, собственно говоря, в свой движок я встроил его. Очень юзабильно получилось. Все данные хранятся в таблице (MYSQL). Делаеш выборку по айпи - получаешь язык.

База его лежит здесь:
http://www.maxmind.com/download/geoi...CountryCSV.zip

Флаги лежат здесь:
http://www.maxmind.com/download/geoip/database/flag.zip

Тянешь файл: geo.dat

В нем будет нечто такое:

Код:
"2.6.190.56","2.6.190.63","33996344","33996351","GB","United Kingdom"
"3.0.0.0","4.2.144.255","50331648","67277055","US","United States"
"4.2.145.0","4.2.145.63","67277056","67277119","CA","Canada"
....
Создаешь таблицу такую:
Код:
CREATE TABLE `geoip` (
  `id` int(4) unsigned NOT NULL auto_increment,
  `ip_start` int(6) unsigned NOT NULL default '0',
  `ip_finish` int(6) unsigned NOT NULL default '0',
  `prefix` char(2) NOT NULL default '',
  `country` text NOT NULL,
  PRIMARY KEY  (`id`),
  KEY `ip_start` (`ip_start`),
  KEY `ip_finish` (`ip_finish`)
) TYPE=MyISAM COMMENT='GeoIP by Site'
Импортируешь в таблицу так:
Код:
	if (file_exists($filename))
	{
		$GeoLines = file($filename);
		reset($GeoLines);
		for ($t=0; $t<count($GeoLines); $t++)
		{
			$String = $GeoLines[$t];
			$String = str_replace(array(chr(10),'"'),"",$String);
			$String = str_replace("'","`",$String);
			$GeoArray = explode(",",$String);
			query("INSERT INTO `geoip` SET `ip_start`='$GeoArray[2]', `ip_finish`='$GeoArray[3]', `prefix`='$GeoArray[4]', `country`='$GeoArray[5]'");
	}
}
В принципе там у них есть и просто бинарный файл и алгоритм работы с ним... CNSTATS к примеру так работает...

Но я решил использовать базу... мне так показалось надежнее... чем файловая операция с 5-метровым файлом...
Удачи!
__________________
His name is spelled A-P-O-C, with a C - not APOK, because it originates from the word 'apocalypse'...

Последний раз редактировалось apoc; 18.08.2005 в 10:01.
apoc вне форума  
Старый 18.08.2005, 11:55     # 12
Ale
Junior Member
 
Регистрация: 22.03.2004
Сообщения: 123

Ale Известность не заставит себя ждатьAle Известность не заставит себя ждать
Цитата:
если есть возможность, нахожусь на територии СНГ... то почему мне английскую страницу нужно показывать
ИМХО не надо путать географию с лингвистикой. Как у тебя с немецким? На случай если будешь на территори ФРГ или, скажем, прокси у тебя будет с немецкоязычным IP. А если Goryn раскрутится не на шутку и добавит японский с арабским Это т.е. посетитель должен подбирать себе правильный IP чтоб попасть на нужный язык на 1 (одном) сайте, вместо того чтоб сайт сам настраивался на установки посетителя

Геотаргеттинг нужен совсем для другого - напр реклама привязанная к географии (провайдеры, риэлтеры итд), верификация разного рода итд. А определение языка - совсем др тема
Ale вне форума  
Старый 18.08.2005, 12:04     # 13
apoc
Junior Member
 
Аватар для apoc
 
Регистрация: 17.08.2003
Адрес: Украина
Сообщения: 150

apoc Реально крут(а)apoc Реально крут(а)apoc Реально крут(а)apoc Реально крут(а)
Цитата:
Ale:
Это т.е. посетитель должен подбирать себе правильный IP чтоб попасть на нужный язык на 1 (одном) сайте
Вы хотите об этом поговрить? Флеймом попахивает!
ЦИТИРУЮ!!! ВНИМАНИЕ!!!

Цитата:
Задача такая: при заходе на сайт надо определить страну посетителя и выдать ему страницу на соотвествующем языке. Языка три - русский, немецкий и английский.
Уважаемый Ale страну можно определить по айпи не так ли? Кодовая страница на машине не есть страна. Геотаргеттинг - это вещь которую можно а не нужно использовать так как вам нужно.
__________________
His name is spelled A-P-O-C, with a C - not APOK, because it originates from the word 'apocalypse'...
apoc вне форума  
Старый 18.08.2005, 12:53     # 14
Ale
Junior Member
 
Регистрация: 22.03.2004
Сообщения: 123

Ale Известность не заставит себя ждатьAle Известность не заставит себя ждать
Уважаемый apoc прочтите топик внимательнее, задача уже изменилась:
Цитата:
Сообщение от Goryn
опредедение языка на самом деле было бы лучше. я об этом как раз изначально думал. Но вот вопрос, насколько это осуществимо...
Насчет флейма - согласен. Прекращаем
Ale вне форума  

Опции темы

Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 20:24.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.