Toplam 204 konuya 1406 yorum yazıldı.
Php İp Adresi İle Bilgileri Çekmek

Merhaba arkadaşlar bu dersimizde sizlerle php ile formdan girilen ip adresinin bilgilerini çekeceğiz.



İp bilgilerini çekerken http://ip-api.com/ sitesi bize yardımcı olacak :) Bu sitenin apisini kullanarak işlemimizi gerçekleştireceğiz. İP 'den gelecek olan bilgileri de; XML, PHP, JSON, CSV formatlarında elde edebiliyorsunuz. Seçmiş olduğunuz format türünü seçtiğinizde, hazır kullanım kodlarını da göstererek, geliştiricilere yardımcı olmaktadır.



Biz php kullanacağımız için şu kısımdan elde edebiliriz.




http://ip-api.com/docs/api:serialized_php


Php ile bu bilgilere ulaşmak istediğimizde, gelecek olan bilgiler serialize() formatında gelmektedir. Biz bu formatta gelen bilgilere direk olarak ulaşabilmek için unserialize() kullanmamız gerekmektedir. 



Şimdi kullanımına geçelim önce ip adresini yazacağımız bir form oluşturalım basit bir form..Basit bir form olduğu için ip adresi yazarken lütfen aralara nokta koyunuz. Normalde onu otomatik yaptırma olayları falan var ama oralara girmedim :)




<form action="ipbilgisi.php" method="POST">
<input type="text" name="ipadres" placeholder="İp adresi giriniz" />
<input type="submit" name="gonder" value="Gönder" />
</form>


Buradan yazdıgımız ip adresini post ettiğimiz ipbilgisi.php dosyamızı hazırlayalım şimdide :)




<?php

if(isset($_POST["gonder"])){
$ipadresi = @$_POST["ipadres"];

$sorgumuz = @unserialize(file_get_contents('http://ip-api.com/php/'.$ipadresi));

echo "<pre>";
print_r($sorgumuz);
echo "</pre>";
}

?>


Tabi siz bu apiyi kullanarak sadece şehir bilgisi yada sadece istediğiniz bilgiyi çekebilirsiniz orası size kalmış.İşlemimiz bukadar arkadaşlar umarım faydalı olur :) Örnek bir çıktı göstermek gerekirse şu şekildedir.





Örnek bir uygulama yapalım birde :) Mesala apiden gelen status ifadesini farketmişsinizdir.Biz bu ifadeyi kullanarak eğer sonuç success yani başarı ile hoşgeldiniz ziyaretçi tarzından birşey yapabiliriz



Hemen yapalım kısa bir örnek :)




<?php

$ipadresi = $_REQUEST['REMOTE_ADDR']; //ip adresimizi aldık bunu formdan da alabiliriz.

$sorgu = @unserialize(file_get_contents('http://ip-api.com/php/'.$ipadresi));

if($sorgu && $sorgu ['status'] == 'success') {

echo 'Hoşgeldiniz Ziyaretçi Sizin Ülkeniz = '.$sorgu ['country'].';

} else {

echo 'İp adresi durumu başarılı degil';

}
?>


Evet kolay gelsin arkadaşlar umarım faydalı bir örnek olmuştur.


Yorumlar

ipadresim

25.01.2017 15:20

Merhaba Yavuz bey kodlardan gerçek anlamda çok faydalandım. Teşekkür ediyorum.

Yorum Yaz