Navigate / search

Php Get Metodu ve Post Metodu Farkları

Phpde web formlarından veri çekmek için kullandığımız Get ve Post metodularının bir kaç farkları bulunmaktadır.

Bunlardan ilki kullanımında olan fark form metodu belirlemektir.

Get Metodu için

<form action="action.php" method="GET">
</form>

Post Metodu için

<form action="action.php" method="POST">
</form>

Veri bu iki farklı şekilde gönderilebiliyor.
Şimdi veriyi okurken kullandığımız farklara bir bakalım.

Get Metodu ile Veri Almak için;

$HTTP_GET_VARS['form adı'];
$_GET['form adı'];
$_REQUEST['form adı'];

Post Metodu ile Veri Almak için;

$HTTP_POST_VARS['form adı'];
$_POST['form adı'];
$_REQUEST['form adı'];

Post ve Get metodlarını kullanımını öğrendik. Şimdi dış etkenlerine bir bakalım.

Formdan veri gönderdiğimizde Post ve Get metodlarında şöyle bir fark olur.Örneğin bir kullanıcı adı ve şifre girişi yapcağımız bir form hazırladık.Sonra giriş butonuyla formumuzu kontrol.php isimli dosyaya şifreyi ve kullanıcı adını kontrol etmesi için yönlendiriyoruz.Bu sayfaya geldiğimizde karşımıza çıkacak Post ve Get metodunun farkları.Şimdi bu farkı görebilmek için kontrol.php dosyasına geldiğimizde adres satırına bakalım.

Get metodunda adres satırı;

http://www.sitemiz.com/kontrol.php?kullanici_adi=safak&amp;sifre=123456

Post metodunda adres satırı;

http://www.sitemiz.com/kontrol.php

İkisindede verileri alabilmiş olacağız fakat GET metodunda adres satırında formdan gönderdiğimiz değerleri görmüş olacağız.Post metodunda ise bunlar gizli kalmış olacaktır.bu örnekteki gibi kullanıcı adı şifre veya herhangi gizli bir bilgiyi gönderirken Post Metodunu kullanmanız

Php’de Get Metodu İle Formlardan Gelen Bilgiyi Almak

Get Metoduyla Php’de Formlardan Gelen Bilgiyi Almak

Bir önceki dersimizde anlattığımız konu formlardan veriyi göndermekti.Dersimizi hatırlarsak nereye göndermiştik örnek olarak.oku.php ye göndermiştik.Hazırladığımız html formunu bir kez daha hatırlayalım.

<form action="oku.php" method="get">
     <input name="isim" type="text" />
     <input name="email" type="text" />
     <input type="submit" value="Gönder" />
</form>

Formumuz bu şekildeydi.İsim ve email girişi için text box’ımız ve bunları göndermeye yarayan Gönder butonumuz.Formu doldurup bu veriyi oku.php‘ye göndereceğiz.Metodumuzuda get olarak belirledik.Şimdi zaman kaybetmeden php de get metodu nasıl kullanılır bakalım….

3 farklı komut kullanarak bu veriyi çekebiliriz.
$HTTP_GET_VARS
$_GET
$_REQUEST

Php versiyonlarına göre bunlar farklılık göstermektedir.Kullandığınız Php versiyonu 4 veya üzeri ise “$_GET” kullanmanızı tavsiye ederim.

Formdan gelecek olan 2 farklı bilgi olacak.Biri isim diğeri ise mail adresi.Bunları saklamak için bir değişken olurşturup içlerine yazdıralım.
Formdan gelen veriyi almak için

       $degisken=$_GET['formdaki isim']

şu şekilde bir satır yazıyoruz.$degisken ‘i biz belirliyoruz.”formdaki isim” yazan kısma ise form oluştururken textboxa verdiğimiz ismi ( name=”email” ) yani email yazıyoruz.Dolayısıyla php formdan gelen email isimli değeri bir edğişkene atmış olacak

       $get_email=$_GET['email']

Get ile nasıl formdan veri alındığını öğrenmiş bulunmaktayız şimdi programı düzenli bir hale getirelim.Formdan gelen hem ismi hemde mail adresini değişkenlerimize yazdırdıktan sonra bunları programımız içinde istediğimiz şekilde kullanabiliriz.

$gelen_isim=$_GET['isim'];
$gelen_email=$_GET['email'];
 
echo "Başvuru Yapan Kişinin Adı: $gelen_isim - Mail Adresi: $gelen_email ";

Yazdığımız form.html ve oku.php dosyalarını kaydederek siz de deneyip geliştirebilirsiniz.

Html Web Formlarına Giriş

Konuya girerken ilk önce HTML web formlardan bahsetmek istiyorum.Konumuz Html değil ama bilmeyenler veya unutanlar için tekrar hatırlatacağız konu içerisinde HTML’de formları.

Süper globallere girmeden öncede web form-php mantığından bahsetmek istiyorum.İnternette gezinirken hemen hemen hergün web formları ile karşılaşıyorsunuz.Googleda arama yaptığınız metin kutusu ve aramayı başlatmak için bastığınız buton web formları konusuna dahildir.Buna örnek olarak üye girişi yaptığınız kullanıcı adı ve parola girdiğiniz yada kayıt olurken email adresi telefon gizli yanıt gibi yerler web formlarıdır.

Bahsettiğimiz bu formlar html mantığı içe çalışır.Buradaki formlara girdiğimiz verileri gönder veya kaydet gibi butonlara bastığımızda bu bilgiler PHP ye gönderilir.Sonra yazdığımız kodlar ile bu bilgileri PHP içerisinde kullanabiliriz.

Formdaki verileri iki farklı metod ile gönderebiliriz.Bunların ilki GET diğeri ise POST metodudur.
Get metodunda gönderilen veriler kullanıcı tarafından adres satırında görülebilir.(…index.php?sayfa=indir) Post metodunda ise kesinlikle kullanıcı tarafından bu veriler görülemez.

Bir form oluşturmak için FORM tagları kullanılır.Form tagında kullanacağımız parametler ise method=”” ve action=”” ‘dır.
Method parametresinde gönderilecek verinin post ile yada get yoluyle olacağını belirliyoruz.
Action parametresinde ise butona basıldığında hangi dosyadaki komutları çalıştıracağımızı söylüyoruz.

1
2
<form action="oku.php" method="post">
</form>

evet formumuzu oluşturduk şimdi formumuzun içindeki item leri ekleyelim.Bir adet isim için bir adette email adresi yazmak isteyelim.Bunları yazdığımız kutuya textbox denir ve form tagları arasında şu komutla eklenir.

1
2
<input type="text" name="isim">
<input type="text" name="email">

Şimdide bir tane bu verileri göndermek için buton ekleyelim

1
<input type="submit" value="Gönder">

Şimdi bunları FORM tagları arasına yerleştirelim.
form.html

1
2
3
4
5
<form action="oku.php" method="post">
     <input type="text" name="isim">
     <input type="text" name="email">
     <input type="submit" value="Gönder">
</form>

Çalışmaya hazır bir formumuz oluşmuştur.Bilgileri doldurup gönder butonuna bastığımızda action=”oku.php” ‘ da yazdığımız gibi oku.php dosyasına bu veriler gönderilip oku.php dosyası çalıştırılacaktır.



Gönder butonuna basıp verileri oku.php ye gönderildiğinde oku.php içerisindeki kodlar çalışır.Buna kısa bir örnek yapalım sonra süpergloballeri görelim.
Post yada Get metoduyla gelen veriyi almak için süperglobal değişkenlerinden birini kullanmamız gerekir.Örneğimizi post ile yaptığımız için veriyi şu şekilde alacağız.

oku.php

1
2
3
$isim=$_POST[isim];
$email=$_POST[email];
echo "Formu dolduranın ismi $isim Email adresi $email";

Çalıştırdığımızda forma yazdığımız metinlerle bir yazı göreceksiniz ;)