HTML Formlar

Programlama dillerinin tamamında kullanıcıdan bilgi alarak bu bilgilere göre işlemler gerçekleştirilmektedir. Hazırladığımız web sayfalarında, üye olma, üye girişi yapma, sepete ürün ekleme, ödeme yapma gibi birçok işlemde kullanıcına veri almak için formlar kullanılır. Kullanıcıdan formlar vasıtasıyla alınan veriler sunucuya iletilerek işlenir ve kullanıcının talep ettiği işlem yerine getirilir. Formlar <form> etiketi ile başlar ve çeşitli form elemanlarını içerir.

<form>
    	……
	Form elemanları
	……
</form>

Temel Form Yapısı

Temel bir form yapısı <form> etiketi ile başlar ve </form> etiketi ile sonlanır. İki form etiketi arasında form elemanları, html etiketleri veya başka öğeler bulunabilir. <form> etiketi form elemanlarını içerisine alan ve elemanlara yazılan bilgileri girdi olarak değerlendirip hangi yapıya devredileceğini belirleyen elemandır. Temel bir form yapısı aşağıdaki gibidir.

<form action="action_degeri" method="method_degeri">
  <label for="ad">Ad:</label>
  <input type="text" id="ad" name="ad">
  <input type="submit" value="Gönder">
</form>

İlgili form, 3 adet form elemanından meydana gelmektedir. “Ad” olarak yazılmış bir “label”, kullanıcının adını yazacağı bir “input” ve girdiği bu verileri işlenmek üzere iletimini başlatacak bir “submit”. Form etiketinin sahip olduğu niteliklerden bazıları aşağıdaki gibidir.

action: action niteliği formun hangi adrese gönderileceğini belirler. Formu doldurduktan sonra verileri gönderme işlemi submit elemanı ile yapılabilir. Submit elemanına tıklandığı zaman forma girilmiş veriler action niteliğinde yer alan adrese gönderilecektir. Aşağıdaki örnekte form verileri kaydet.php isimli sayfaya gönderilecektir.

<form action="kaydet.php" >
  <label for="ad">Ad:</label>
  <input type="text" id="ad" name="ad">
  <input type="submit" value="Gönder">
</form>

method: Form verileri gönderilirken hangi HTTP yöntemle ilgili sayfaya gönderileceğini belirler. Method niteliği GET ve POST olmak üzere iki değer alır. Form verileri URL değişkenleri (method=”get” ile) veya HTTP post işlemi (method=”post” ile) olarak gönderilir. Form verilerini gönderirken varsayılan HTTP yöntemi GET’tir. Yani formun method niteliği kullanılmazsa varsayılan olarak veriler GET metodu ile gönderilecektir.

Aşağıdaki örnekte form verileri gönderilirken GET metodu kullanılmaktadır.

<form action="kaydet.php" method="get">

Aşağıdaki örnekte ise form verileri gönderilirken POST metodu kullanılmaktadır.

<form action="kaydet.php" method="post">

GET metodu ile ilgili önemli bilgiler:

  • Form verilerini URL’ye ad/değer çiftleri halinde ekler
  • Hassas verileri göndermek için asla GET kullanmayın! Çünkü gönderilen form verileri URL’de görünür.
  • URL’nin uzunluğu sınırlıdır (2048 karakter)
  • Kullanıcının sonucu yer imlerine eklemek istediği form gönderimleri için kullanışlıdır
  • GET, Google’daki sorgu dizeleri gibi güvenli olmayan veriler için iyidir

POST metodu ile ilgili önemli bilgiler:

  • Form verilerini HTTP isteğinin gövdesine ekler (gönderilen form verileri URL’de gösterilmez)
  • POST’un boyut sınırlaması yoktur ve büyük miktarda veri göndermek için kullanılabilir.
  • POST içeren form gönderimleri yer imlerine eklenemez
  • Form verileri hassas veya kişisel bilgiler içeriyorsa her zaman POST kullanılmalıdır.