Здравствуйте. В файле index.
php на линии 149 прописан код
$main = str_replace("{geo_map}", $res->latitud .','.$res->longitude, $main);
{geo_map} Работает. Этот код работает.
Но почему то в верху шаблона.
Notice: Trying to get property of non-object in C:\web\xampp\htdocs\index.
php on line 149
Notice: Trying to get property of non-object in C:\web\xampp\htdocs\index.
php on line 149
Как с этим бороться подскажите пожалуйста
Игорь_Vasinsky
21.12.2012 - 22:59
может
$res['latitud']
$res['latitude']
?
var_dump($res) что кажет? это объект или массив?
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Winston
21.12.2012 - 23:49
Где и как происходит инициализация $res?
Вот, инициализация $res
include "./geo/geoipcity.inc";
$gi = geoip_open("./geo/GeoLiteCity.dat", GEOIP_STANDARD);
$ipadr = gethostbyname($ip);
$res = GeoIP_record_by_addr($gi,$ipadr);
geoip_close($gi);
А
var_dump($res) кажет это
object(geoiprecord)
killer8080
22.12.2012 - 10:43
Цитата (715kg @ 22.12.2012 - 05:48) |
А var_dump($res) кажет это |
var_dump нужно делать там же, где выскочила в ошибка. Скорее всего проблема в области видимости.
Спустя 1 минута, 11 секунд killer8080 написал(а):
Цитата (715kg @ 21.12.2012 - 20:48) |
$main = str_replace("{geo_map}", $res->latitude .','.$res->longitude, $main); // geo map Координаты IP |
Седлал так. Ошибки пропали..
include "./geo/geoipcity.inc";
$gi = geoip_open("./geo/GeoLiteCity.dat", GEOIP_STANDARD);
if ($ip_port == 'INVALID ADDRESS:!!!!')
{
$ipadr = gethostbyname('01.01.01.01');
}else{
$ipadr = gethostbyname($ip);
}
$res = GeoIP_record_by_addr($gi,$ipadr);
geoip_close($gi);
Правильно ли это??? Вроде все работает. Ведь у меня все запросы идут через GET, а на главной странице ошибка, так как нету данных из $_GET['ip']; А если нету, то он выводит INVALID ADDRESS:!!!!
Получается $ip = 'INVALID ADDRESS:!!!!';
Пытается взять $ipadr = gethostbyname(
$ip);
А адрес не правильный.
Игорь_Vasinsky
22.12.2012 - 14:58
Цитата |
$main = str_replace("{geo_map}", $res->latitud .','.$res->longitude, $main); // geo map Координаты IP
|
Цитата |
["latitude"]=> float(55.7522) |
точно киллер подметил. потерял ты кое что)
Цитата |
А адрес не правильный. |
всмысле?
смотри gethostbyname()
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
killer8080
22.12.2012 - 16:34
Цитата (715kg @ 22.12.2012 - 10:59) |
$ipadr = gethostbyname('01.01.01.01'); |
Что это за бред?
Дая не знаю как сделать. Сделал все, что мог. Все ошибки пропали. Сделал долгими путями. И не профессионально. Но все пропало.
<?php
error_reporting(E_ALL ^E_NOTICE);
ini_set('display_errors', 'off');
include "./geo/geoipcity.inc";
$gi = geoip_open("./geo/GeoLiteCity.dat", GEOIP_STANDARD);
if ($ip_port == 'INVALID ADDRESS:!!!!')
{
$ipadr = '01.01.01.01';
}else{
$ipadr = gethostbyname($ip);
}
$res = GeoIP_record_by_addr($gi,$ipadr);
$res2 = GeoIP_record_by_addr($gi,$_SERVER['REMOTE_ADDR']);
geoip_close($gi);
$geo_img_flags = "Не определено";
if (file_exists("templates/images/flags/".$res->country_code.".png"))
{$geo_img_flags = "<img src='../templates/images/flags/".$res->country_code.".png' alt='".$map."' width='18' height='12'>";}
$monitortp2 = file_get_contents("templates/geo_google_map.tpl");
$main = str_replace("{google_map}", $monitortp2, $main);
$main = str_replace("{geo_map}", $res->latitude.','.$res->longitude, $main);
$main = str_replace("{geo_map_strana}", $res->country_name, $main);
$main = str_replace("{geo_map_strana_user}", $res2->country_name, $main);
$main = str_replace("{geo_map_flag_user}", $geo_img_flags, $main);
if ($res2->city == ''){
$nameif2 = 'Не определено';
$main = str_replace("{geo_map_gorod_user}", $nameif2, $main);
}else{
$main = str_replace("{geo_map_gorod_user}", $res2->city, $main);
}
if ($res->city == ''){
$nameif = 'Не определено';
$main = str_replace("{geo_map_gorod}", $nameif, $main);
}else{
$main = str_replace("{geo_map_gorod}", $res->city, $main);
}
?>
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.