Главная » 2012 » Ноябрь » 1 » Исправляем ошибку с определением страны в скрипте SeoEdit
08:27
Исправляем ошибку с определением страны в скрипте SeoEdit
У многих не определяется страна. Выкладываю фикс с определением страны. Без подключения к MySQL.

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


Ищем строку:
Code
$country=strtolower(getCountryByIp($_SERVER[REMOTE_ADDR]));


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

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


Ниже ищем строку:
Code
<img src='/images/flags/<?=$country; ?>.png' alt=''  
style='margin: 3px 6px 0px 0;' /><font  
color='#C15F24'>(<?=$country ?>)</font>


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

Code
<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
http://bux-info.do.am/files/geoip.rar
Категория: Дыры и ошибки | Просмотров: 1258 | Добавил: Loveme | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]