I am working on a PHP code for my social network, what I am planning to do is on user signup or profile update I will take there zipcode that they enter and use yahoo to lookup there lattitude and logitude from there zipcode I will then save these value to there user mysql table, this will be used later on to find users located within X amount of miles from them.
İşte benim kod DB içine saklamadan önce bu bilgi almak için şimdiye kadar
<?PHP
function yahoo_geo($location) {
$q = 'http://api.local.yahoo.com/MapsService/V1/geocode';
q .= '?appid=rlerdorf&location='.rawurlencode($location);
echo $q;
libxml_use_internal_errors(true);
$xml = simplexml_load_file($q);
if(!is_object($xml)) return false;
$ret['precision'] = (string)$xml->Result['precision'];
foreach($xml->Result->children() as $key=>$val) {
if(strlen($val)){
$ret[(string)$key] = (string)$val;
}
return $ret;
}
$_REQUEST['location'] = 32744; // my zip code
$a = yahoo_geo($_REQUEST['location']);
// set retunred data to some variables for storage into MySQL
$latitude = $a[Latitude];
$longitude = $a[Longitude];
// MySQL code will go here
// Output for demo
echo 'Lattitude' .$latitude. '<BR><BR>';
echo 'Longitude' .$longitude. '<BR><BR>';
?>
Bu uzun eğer dışında harika çalışıyor. ve lat. Bu tarayıcıda bir hata döndürür bulunamadı
Warning: simplexml_load_file(http://api.local.yahoo.com/MapsService/V1/geocode?appid=rlerdorf&location=some non zipcode) [function.simplexml-load-file]: failed to open stream: HTTP request failed! HTTP/1.1 400 Bad Request in C:\webserver\htdocs\test\geolocation\index.php on line 16
Not; Ben posta kodu yalnızca sayısal olduğundan emin olabilir ama ben daha ziyade değil yahoo gibi benim de diğer alanları ile arama izin kalacak, böylece kullanıcının bir posta kodu girin yoksa ben kötü bir şehri veya ülkeyi hatta ülkeyi kullanma yapacak dava böylece her kullanıcı boylam ve enlem çeşit olmalıdır. kaydedilmiş
Hata gösteren önlemek için iyi bir yolu var mı ya da orada daha iyi bir hatadır ve bir hata oluşursa ben o kullanıcı için bir varsayılan değer eklemek olabilir id algılamak için bir yolu var mı?