В продолжении статьи
«Получение GEO данных по IP» камрада МраКа, напишу как это делается в Drupal 6.x
В небольшом стартапе
http://www.smstariff.ru было необходимо сделать так, чтобы страна была выбрана сразу.
Итак начнем:
Вам понадобится модуль IP2Nation (
http://drupal.org/project/ip2nation)
После установки модуль в настройке почти не нуждается.
Вы можете сразу прописывать в шаблоне:
<?php
function getRealIpAddr()
{
if (!empty($_SERVER['HTTP_CLIENT_IP'])) //check ip from share internet
{
$ip=$_SERVER['HTTP_CLIENT_IP'];
}
elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) //to check ip is pass from proxy
{
$ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
}
else
{
$ip=$_SERVER['REMOTE_ADDR'];
}
return $ip;
}
$country_obj = ip2nation_get(getRealIpAddr());
$real_country=$country_obj->code;
?>
$real_country содержит 2-х буквенный код (ru, en и т.д.) который можно использовать в сниппетах или модулях.
Все казалось бы отлично, а вот фиг вам. Вы все это проделываете и вуаля, он вам выдает вместо России Канаду! Вот такая телепортация :-)
Дело в базе, нужно с сайта разработчика скачать обновленную базу (http://www.ip2nation.com/ip2nation/Download). И залить вместо существующей.
Полный API модуля не изучал, мне нужен был только код страны.
Теперь все нормально, мы живем в России, все счастливы.
Комментарии (6)
RSS свернуть / развернутьdark_barker
DragonDesign
MpaK
1. код страны, 2-х значный (iso), 3-х значный (iso)
2. Наименование страны, по iso, поное
3. флаг страны
4. координаты страны для Google Maps
А база там копеешная, на 40 тыс. записей.
DragonDesign
MpaK
Думаю тут понадобится другая ГЕО база. Ведь статистика LiveInternet же легко определяет город посетителя…
DragonDesign
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.