/***************GeoIP***********************/
function getRealIpAddr()
{
if (!empty($_SERVER['HTTP_CLIENT_IP']))
{
$ip=$_SERVER['HTTP_CLIENT_IP'];
}
elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR']))
{
$ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
}
else
{
$ip=$_SERVER['REMOTE_ADDR'];
}
return $ip;
}
include("geo/geoipcity.inc");
if(!$_SESSION['geoip_from']){
$gi = geoip_open("geo/GeoLiteCity.dat",GEOIP_STANDARD);
$_SESSION['geoip_from'] = geoip_record_by_addr($gi,getRealIpAddr() );
if( is_null($_SESSION['geoip_from']) )
{
$_SESSION['geoip_from']='notdefine';
}
geoip_close($gi);
}
/*******************************************/
Потом я пытаюсь посмотреть значения:
echo $_SESSION['geoip_from']->city;
Естественно ничего не выводит, хотя print_r($_SESSION['geoip_from']);
выдает
__PHP_Incomplete_Class Object ( [__PHP_Incomplete_Class_Name] => geoiprecord [country_code] => UA [country_code3] => UKR [country_name] => Ukraine [region] => 08 [city] => Krivoy Rog [postal_code] => [latitude] => 46.4167 [longitude] => 34.25 [area_code] => [dma_code] => )
Т.е. объект лежит в сессии, вот тока как к нему нормально обратиться не пойму, почему возвращает пустое значение?