Исправляем ошибку с определением страны в скрипте SeoEdit

У многих не определяется страна. Выкладываю фикс с определением страны. Без подключения к MySQL.У многих не определяется страна. Выкладываю фикс с определением страны. Без подключения к MySQL.

Открываем файл register.php и editprofile.php

Ищем строку:

$country=strtolower(getCountryByIp($_SERVER[REMOTE_ADDR]));


Меняем её на этот код:

//Geolocation
include("geoip/geoip.inc");
include("geoip/geoipcity.inc");
//определяем IP посетителя
$ip = $_SERVER['REMOTE_ADDR'];
//Соединяемся с базой
$gi = geoip_open("geoip/GeoLiteCity.dat", GEOIP_STANDARD);
//Читаем данные из базы по полученому IP
$geodata = GeoIP_record_by_addr($gi, $ip);
//Закрываем соединение с базой
geoip_close($gi);
//Преобразовываем обьект данных об IP в массив
$geodata = (array)$geodata;
//Получаем код страны в формате ISO-3166-1
$contry_code = strtolower($geodata['country_code']);
//Получаем название страны
$contry_name = $geodata['country_name'];


Ниже ищем строку:

<img src='/images/flags/<?=$country; ?>.png' alt='' style='margin: 3px 6px 0px 0;' /><font color='#C15F24'>(<?=$country ?>)</font>


И меняем ее на:

<img alt="" src='/images/flags/<?php echo $contry_code; ?>.png' alt='' style='margin: 3px 6px 0px 0;' /><font color='#C15F24'>(<?php echo $contry_name; ?>)</font>


Закидываем папку (geoip) с файлами в корень сайта (с учетом того, что у Вас сохранились картинки флагов). Запускаем парсер для скачивания базы адресов (GeoLiteCity.dat). Он скачивается и сам распаковывается, Вам ни чего делать не нужно, только для обновления время от времени его запускать (при желании). Для этого заходим в http://site.ru/geoip/index.php

Все, пользуемся на здоровье.

P.S. И сильно ногами не пинать wink

Автор публикации

не в сети 10 лет

Yulan

Комментарии: 0Публикации: 1Регистрация: 31-03-2011

Понравилась статья? Поделись в соц. сетях:

Похожие новости

Отправить комментарий

avatar
wpDiscuz
Авторизация
*
*
Регистрация
*
*
*
Генерация пароля