painbot
Ежик в тумане
Добрых дней!
Вот собственно вопрос:
допустим, если у меня выводится город Москва, то вместе с "МоскваМосковскаяобласть" должен выводится телефон допустим "123456", а если выводится "РостовРостовскаяобласть" - то выводится телефон "654321", да и еще если это будет ближайший город к Москве то соответственно выводит телефон Москвы а не Ростова...
как это превратить в жизнь пока не дошел, может кто поможет?
Думаю - создается база с телефонами допустим база "IP" таблица "nombersIP", где поля соотвественно id,city,region,nomber...
01 Москва Московская область 123456
02 Ростов Ростовская область 654321
03 Тула 123456
и т.д...
PHP:
<?php
session_start();
function ShowGeoIp($key){
$url = 'http://194.85.91.253:8090/geo/geo.html';
if (!isset($_SESSION['location']))
{
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'];
}
$cl = curl_init();
$query = '<ipquery><fields><all/></fields><ip-list><ip>'.$ip.'</ip></ip-list></ipquery>';
curl_setopt($cl, CURLOPT_URL, $url);
curl_setopt($cl, CURLOPT_RETURNTRANSFER,1);
curl_setopt($cl, CURLOPT_TIMEOUT, 2);
curl_setopt($cl, CURLOPT_POST, 1);
curl_setopt($cl, CURLOPT_POSTFIELDS, $query);
$result = curl_exec($cl);
curl_close($cl);
preg_match_all("|<region>(.*?)</region>|", $result, $region);
preg_match_all("|<city>(.*?)</city>|", $result, $city);
preg_match_all("|<district>(.*?)</district>|", $result, $district);
preg_match_all("|<lat>(.*?)</lat>|", $result, $lat);
preg_match_all("|<lng>(.*?)</lng>|", $result, $lng);
$_SESSION['location'] = array();
$_SESSION['location']['region'] = $region[1][0];
$_SESSION['location']['city'] = $city[1][0];
$_SESSION['location']['district'] = $district[1][0];
$_SESSION['location']['lat'] = $lat[1][0];
$_SESSION['location']['lng'] = $lng[1][0];
$location = $_SESSION['location'][$key];
} else {
$location = $_SESSION['location'][$key];
}
return $location;
}
echo ShowGeoIp('city');
echo ShowGeoIp('$region');
?>
Вот собственно вопрос:
допустим, если у меня выводится город Москва, то вместе с "МоскваМосковскаяобласть" должен выводится телефон допустим "123456", а если выводится "РостовРостовскаяобласть" - то выводится телефон "654321", да и еще если это будет ближайший город к Москве то соответственно выводит телефон Москвы а не Ростова...
как это превратить в жизнь пока не дошел, может кто поможет?
Думаю - создается база с телефонами допустим база "IP" таблица "nombersIP", где поля соотвественно id,city,region,nomber...
01 Москва Московская область 123456
02 Ростов Ростовская область 654321
03 Тула 123456
и т.д...