Yazdır 30 Nisan 2010 Cuma (Hit: 30968)

GET ve POST Metodu

Formlara girilen bilgiler gönder denildiğinde <form>...</form> etiketinin action özelliğinde belirtilen sayfaya, yine aynı etiketin method özelliğinde belirtilen yöntemle gönderililir. Örneğin;

<form name="yorum" method="post" action="yorum_kaydet.php">

şeklinde tanımlanan bir form yapısına göre formlara girilen bilgiler yorum_kaydet.php sayfasına post metoduyla gönderilecektir. Burada GET ve POST olmak üzere iki tür method kullanılır.

 

GET Metodu

GET metodunda formlara girilen bilgiler adres çubuğunda gönderilirken görünürler. Formlara girilen bilgiler, sayfa adresinin sonuna şu şekilde eklenir.

http://www.site.com/sayfa.php?form1=değer1&form2=değer2&...

Burada form1, form2,... ile gösterilen ifadeler sayfada formlara verilen isimler yani name değerleridir. değer1, değer2,... ise kullanıcının bu formlara girdiği değerleri ifade etmektedir. Dikkat ederseniz tüm bunlar sayfa adresinden ? ile ayrılmakta, her form ve değerinin arasında & işareti bulunmaktadır.

Bu yöntemde;

  • Gönderilen bilgiler adres çubuğunda göründüğü için güvenlik düşüktür. Özellikle şifre girişlerinde kullanılmamalıdır.
  • Adres çubuğundan gönderilebilecek veri miktarı sınırlı olduğunda fazla miktardaki veriler gönderilemez.

 

Aşağıdaki form yapısı doldurulup GET metodu ile gönderildiğinde adres çubuğunda oluşacak değere bakalım.

<html>
<body>
   <form name="kayit" method="get" action="http://www.phpdefteri.com/kayit.php">
      Adı: <input type="text" name="adi"><br>
      Soyadı: <input type="text" name="soyadi"><br>
      Doğum Yılı: <input type="text" name="dogum"><br>
      <input type="submit" name="kaydet" value="Kaydet">
   </form>
</body>
</html>

 

Adı:
Soyadı:
Doğum Yılı:

Bu form yapısında, name değeri bulunan her formun value değeri adres çubuğundan gönderileceğinden adres çubuğunda,

http://www.phpdefteri.com/kayit.php?adi=Ali&soyadi=Eren&dogum=1983&kaydet=Kaydet

şeklinde bir bilgi görülecektir.

 

GET metodu formların kullanıldığı sayfalarda pek kullanılmaz. Bunun yerine daha güvenli olan POST metodu kullanılır. GET metodu genellikle <a>...</a> link oluşturma etiketleriyle beraber kullanılır. Buradaki amaç link ile diğer sayfaya bilgi göndermektir. Aşağıdaki örneği inceleyiniz.

<html>
<body>
Arkadaşlar aşağıdaki linke tıklarsanız kayit.php sayfasına üç tane bilgi gönderilir. <br>
Bunlar şunlardır: <br>
adi=Ali<br>
soyadi=Eren<br>
dogum=1983<br>
<a href="kayit.php?adi=Ali&soyadi=Eren&dogum=1983">
   Bu linke tıklayıp adres çubuğuna dikkat ediniz.
</a>
</body>
</html>

Arkadaşlar aşağıdaki linke tıklarsanız kayit.php sayfasına üç tane bilgi gönderilir.
Bunlar şunlardır:
adi=Ali
soyadi=Eren
dogum=1983
Bu linke tıklayıp adres çubuğuna dikkat ediniz.

 

Başka bir örnek vermek gerekirse; veritabanından çekilen kayıtlar sayfaya yazdırılır ve her kayıtın yanına genellikle bir silme linki eklenir. Bu linke tıklandığında kayıt silinir. Buna benzer bir sayfa hazırlayalım.

<html>
<body>
   <table border="1">
      <tr>
         <td>Kayıt No</td>
         <td>Kayıt Adı</td>
         <td>İşlem</td>
      </tr>
      <tr>
         <td>62</td>
         <td>Ömer Erkul</td>
         <td><a href="kayitsil.php?kayit_no=62">Sil</a></td>
      </tr>
      <tr>
         <td>68</td>
         <td>Ebuzer Garip</td>
         <td><a href="kayitsil.php?kayit_no=68">Sil</a></td>
      </tr>
      <tr>
         <td>92</td>
         <td>Huzeyfe Yiğit</td>
         <td><a href="kayitsil.php?kayit_no=92">Sil</a></td>
      </tr>
   </table>
</body>
</html>

 

Kayıt No Kayıt Adı İşlem
62 Ömer Erkul Sil
68 Ebuzer Garip Sil
92 Huzeyfe Yiğit Sil

Burada dikkat ederseniz kayıt silmenin yapıldığı kayitsil.php sayfasına silinicek kaydın numarası GET metodu ile gönderilmektedir. Bu ve buna benzer link ile değer göndermenin yapıldığı her yerde GET metodu kullanılır. Formların bulunduğu sayfalarda ise POST metodu kullanılır.

 

 

 

POST Metodu

Bu metodda formlara girilen bilgiler gönderilirken görünmemektedir. Bundan dolayı daha güvenlir. Ayrıca büyük miktardaki veriler de bu yöntemle gönderilmektedir. Örneğin dosya yüklemede kullanılan ve fazla miktarda verilerin bulunduğu formlarda POST metodu kullanılmaktadır. Aşağıdaki örneği inceleyiniz.

<html>
<body>
   <form name="anket" method="post" action="anket.php">
      Adınız Soyadınız: <input type="text" name="adsoyad"><br>
      Okullarda serbest kıyafet uygulaması olsun mu?
      <select name="cevap">
         <option value="">Evet</option>
         <option value="">Hayır</option>
         <option value="">Kararsızım</option>
      </select><br>
      <input type="submit" name="gonder" value="Gönder">
   </form>
</body>
</html>

 

Adınız Soyadınız:
Okullarda serbest kıyafet uygulaması olsun mu?

 

Gönder denildiğinde girilen bilgiler anket.php sayfasına gitmekte ve ne adres çubuğunda ne de başka bir yerde görünmemektedir. Bundan dolayı oldukça güvenlidir.

 

Buraya kadar olan kısımda linklerden ve formlardan bilgilerin nasıl gönderileceğini anlatmış olduk. Sıradaki dersimizde gönderilen bilgilerin nasıl alınıp işleneceğini anlatmaya çalışacağız.


Bu site meslek liselerinde bilişim bölümü web programcılığı dalında okutulan internet programcılığı dersine yardımcı olması için tasarlanmıştır. İletişim için iletisim@phpdefteri.com
Apache PHP MySQL PhpMyAdmin EasyPHP Xampp AppServ Wamp W3School

www.phpdefteri.com © 2010