Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Геолокация


Recommended Posts

День добрый.

Ест такая проблема с геолокацией. Использую ф-ю для определения

<? 

    function geoip($ip='', $to = 'utf-8'){
    $ip = ($ip) ? $ip : $_SERVER['REMOTE_ADDR'] ;
    $xml =  simplexml_load_file('http://ipgeobase.ru:7020/geo?ip='.$ip);
    if($xml->ip->message){
    if( $to == 'utf-8' ) {return $xml->ip->message;} else {
    if( function_exists( 'iconv' ) ) return iconv( "UTF-8", $to . "//IGNORE",$xml->ip->message);else return "The library iconv is not supported by your server";}
    } else { if( $to == 'utf-8' ) {return $xml->ip->region;} else {if( function_exists( 'iconv' ) ) return iconv( "UTF-8", $to . "//IGNORE",$xml->ip->region);else return "The library iconv is not supported by your server";}}}
    
 ?>

Вызываю её в /template/module/banner.tpl (именно там и планирую баннеры показывать по регионам) и вывожу на экран

$var=geoip();
echo $var;

Первый запуск всё хорошо, но после перезагрузки страницы пишет Fatal error: Cannot redeclare geoip() in ...

Поставил условие если переменная var определена, то ф-я не вызывается. Однако это не помогает.

Страница нормально грузится только после чистки кэша (и то не всегда).

 

Почему эта ошибка возникает не могу понять, ф-я же определена (находится в том же файле откуда и вызывается)?

Надіслати
Поділитися на інших сайтах


Т.е. ели правильно понимаю

<?php
if (function_exists('geo_ip')) { echo "Функция geo_ip определена.<br />\n";$ip=geo_ip();} 
else {echo "Функция geo_ip неопределена.<br />\n";}
?>	

проверяем определена ли ф-я, если да, то переменной ip присваиваем значение - результат ф-ции, если не определена, то ничего не делаем.

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.