PHP ip adresi ve konum tespit etme – GET ve POST metodu

Paylaş!
  •  
  •  
  •  
  •  
  •  
  •  

Merhaba bugün PHP’de ip adresi ve konum tespitinin nasıl yapıldığını anlatacağım. İp adresi bilgisinden konum tespiti yapmak nokta atışı yapmaz. Genelde hizmet aldığınız  firmanın belirlediği yerler gösterilir. Fakat İstanbul lokasyonlu biri için Ankara denilmez. Söylemek istediğim verilen bilgiler ip adresi sahibinin birebir ev adresi değildir. Böyle bir şey mümkün değildir. Fazla uzatmadan konuya geçelim.

Öncelikle bir PHP dosyası oluşturalım

$Ip_Address = $_SERVER['REMOTE_ADDR']; // ip adresimizi alıyoruz

$Geo_Plugin_XML = simplexml_load_file("http://www.geoplugin.net/xml.gp?ip=" . $Ip_Address); //ip adresin bilgilerini alıyoruz

$Country = $Geo_Plugin_XML->geoplugin_countryName; // burada ülke bilgisini alıyoruz

echo $Country; // ülke bilgisini ekrana yazdırıyoruz 

Burada kullandığımız “geoplugin_countryName” komutu bize ip adresinin country yani ülke bilgisini vermektedir. Diğer komutları aşağıda listeledim:

geoplugin_request -> İp adresini gösterir

Örnek Kullanım: $Country = $Geo_Plugin_XML->geoplugin_request ;

 

Şehir = geoplugin_city | Örnek: Istanbul

Bölge = geoplugin_region | Marmara: Istanbul / Marmara

Ülke kodu = geoplugin_countryCode | Örnek: TR

Ülke adı  = geoplugin_countryName | Örnek: Turkey

Ülkenin bulunduğu kıta = geoplugin_continentCode | Örnek: Europe(EU)

Konum(enlem) = geoplugin_latitude | Örnek: 40.9466

Konum (boylam) = geoplugin_longitude | Örnek: 29.0535

Şehrin plaka kodu = geoplugin_regionCode | Örnek: 34 / Istanbul

Ülkenin para birimi = geoplugin_currencyCode | Örnek: TRY

 

Kullanıcının girdiği ip adresini sorgulamak

Kullanıcı tarafından girilen ip adresini sorgulamak için yine bir PHP dosyası oluşturalım. Bunu iki yöntem ile yapabiliriz. Birincisi GET metodu ile diğeri POST metodu ile ikisinin de kullanımını göstereceğim.

GET metodu nedir?

Bir HTML Form üzerinden doldurulan tüm verilerin Url üzerinden gönderileceği veri gönderim çeşididir. GET metodu üzerinden gönderilen verileri güvenliği yüksek seviyede değildir.

GET metodu ile ip konum tespiti

Öncelikle kullanıcının ip adresini gireceği bir html form oluşturalım

<form action="" method="GET">
İp Adresi: <input type="text" name="ip">
Konum Bul: <input type="submit" value="Gönder">
</form>

 

Form action işlemini aynı sayfada gerçekleştirecek yani index.php dosyasından gelen istek için url kısmında index.php?ip=gelenveri şeklinde görünecek.

Aynı dosya içerisinde PHP taglarımızı açalım ve aşağıdaki kodları girelim.

if (isset($_GET['ip'])) {

$ip_adresi = $_GET['ip'];

$Geo_Plugin_XML = simplexml_load_file("http://www.geoplugin.net/xml.gp?ip=" . $ip_adresi);

$Country = $Geo_Plugin_XML->geoplugin_countryName;

echo "İp adresinin bulunduğu konum:<b> ".$Country."</b>";

}

Çıktı bu şekilde olacaktır

Şimdi post metodu ile bulmaya bakalım.

Post metodu nedir?

Veri tabanı barındırabilen de hazır bir şekilde yer alan html form veri gönderme metodudur. POST veri gönderme metodu GET Veri gönderme işlemine göre daha güvenli bir yöntem olarak bize sunulmuştur. Peki bu metodun bize sağladıkları artılar nelerdir?

POST Metodu HTML form verilerinin doldurulduktan sonra gönderilmesi istenen sayfaya kullanıcıya göstermeden arka planda gösterme işine yaramaktadır. Bu yöntem yapılan yazılımı da bir nebze olsun koruma altına almaktadır ve kullanılan bu yöntemle bir takım işlerin kolaylaştırılması sağlanmış oluyor.

POST metodu ile ip konum tespiti

Yine kullanıcının ip adresini gireceği bir html form açalım. Bu sefer method kısmına GET yerine POST yazacağız.

<form action="" method="POST">
İp Adresi: <input type="text" name="ip">
Konum Bul: <input type="submit" value="Gönder">
</form>

Form aynı sayfa içerisine post edecek. PHP taglarımızı açalım ve aşağıdaki kodları yazalım.


if (isset($_POST['ip'])) {

$ip_adresi = $_POST['ip'];

$Geo_Plugin_XML = simplexml_load_file("http://www.geoplugin.net/xml.gp?ip=" . $ip_adresi);

$Country = $Geo_Plugin_XML->geoplugin_countryName;

echo "İp adresinin bulunduğu konum:<b> ".$Country."</b>";

} 

GET metodundan farklı olarak url kısmında bir veri görülmeyecektir.  Çıktı aşağıda ki gibi görünecektir.

Beni GitHub’da ziyaret edin! GitHub onderbaygin

GET.php indir

POST.php indir

GET metodu nedir kaynak: http://webcesi.com/web-tasarim/php-get-metodu-nedir/

POST metodu nedir kaynak: http://webcesi.com/web-tasarim/php-post-metodu-nedir/

Umarım yardımcı olabilmişimdir. Okuduğunuz için teşekkürler :). 

 

 

 

Yazar: Önder BAYGIN

İnternet ve Teknoloji konularıyla ilgili yazılar yazıyorum. Güncel teknolojik gelişmelere ve geliştirdiğim projelerime kolaylıkla ulaşabilirsiniz.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir