HTML <form>
öğeleri kullanıcı giriş bilgilerini ve diğer kullanıcı verilerini alıp sunucude işlemek için kullanılır.
Örnek Form Şablonu
<form action="#">
<label for="name">Adınız/soyadınız</label><br>
<input type="text" id="name" name="name" value="John Doe"><br>
<label for="email">E-Posta Adresiniz</label><br>
<input type="email" id="email" name="email" value="@gmail.com"><br><br>
<input type="submit" value="Submit">
</form>
HTML Form Attributes
HTML <form>
elemanı action=""
, target=""
ve method=""
özniteliğini kullanmaktadır.
Action / Eylem Özelliği
action=""
özelliği form submit olduğunda yani gönderildiğinde bir eylemin gerçekleşeceğini belirtir.- Form verileri kullanıcı gönder butonuna bastığında sunucudaki bir dosyaya gönderilebilir.
<form action="doctype.html" target="_blank">
<label for="name1">Adınız</label><br>
<input type="text" name="name1" value="Fatih" id="name1"><br>
<label for="name2">Soyadınız</label><br>
<input type="text" name="name2" value="Bırtıl" id="name2"><br>
<label for="name3">E-Posta</label><br>
<input type="text" name="name3" value="@gmail.com" id="name3"><br><br>
<input type="submit">
</form>
Eğer action=""
özelliği tanımlanmaz ise form gönderildiğinde kullanıcı aynı sayfada kalacaktır.
Target Özniteliği
target=""
özelliği <form action="">
özelliği tanımlanmış bir formda eylemin nasıl gerçekleşeceğini gösterir. Yeni sayfada mı, yeni pencerede mi ya da aynı sayfada mı action eyleminin gerçekleşeceğini belirtir. Default olarak target="_self"
ayarlıdır.
form
öğesinde tanımlanan target=""
özniteliği aynı bağalntı metinlerinde tanımlanan eylem türüne sahiptir.
Target Özniteliği Değerleri
Öznitelik | Açıklaması |
---|---|
_blank | Eylemin yeni bir pencerede ya da sekmede gerçekleşeceğini belirtir. |
_self | Eylemin geçerli pencere ya da sekmede gerçekleşeceğini belirtir. |
_parent | Eylemin yeni üst bir pencerede gerçekleşeceğini belirtir. |
_top | Sonuç pencerenin tam tepesinde görüntülenir. |
framename | Yanıt bir iframe içerisinde görüntülenir. |
Form Target Örneği
<form action="post.php" target="_self"></form>
Hem GET hem de POST methodu HTTP protokolünde istemciden sunucuya veri aktarımı sağlanması için kulanılır. method="get"
ve method="post"
arasındaki en önemli fark ise; get
methodu url dizesine eklenen request/istek parametresini taşıması ve post
methodu ise request/istek parametresini kendi ileti gövdesinde taşımakta olduğu için post
yöntemi get
methoduna göre daha güvenlidir diyebiliriz.
HTTP Nedir?
HTTP (Hyper Text Transfer Protocol) : Köprü metin transfer protokolü olan HTTP istemci ve sunucu arasındaki iletişimi kurmak için tasarlanmıştır.
Yani HTTP istemci(tarayıcı) ile sunucu arasında istek-yanıt protokolü olarak çalışır.
Bir tarayıcı sunuyuca HTTP isteği gönderir ve akabinde de sunucu da tarayıcıya bir yanıt döndürür. Bu yanıt istekle ilgili durum bilgilerini içermekte olduğıu gibi istek bilgilerini de içerebilmektedir.
Form Gönderim Methodları
En Yaygın HTTP (Hyper Text Transfer Protocol) yöntemleri GET
ve POST
Yöntemleridir.
Form gönderimlerini sağlamak için GET ve POST yöntemlerini kullanabilirsiniz. method="get"
ve method="post"
şeklinde yazarak uygun olan methodu seçebilirsiniz.
GET Yöntemi
- GET yöntemi bir kaynaktan belirli bir veri istemek için kullanılır.
- GET yöntemi en yaygın kullanılan HTTP yöntemlerinden biridir.
- GET istekleri tarayıcı ön belleğine alınabilir.
- GET istekleri tarayıcı geçmişinde kalır.
- Bir URL'nin uzunluğu sınırlıdır (2048 karakter)
- Hassas data ve veriler ile uğraşırken GET isteği kesinlikle tercih edilmemelidir. POST methodu kullanılmalıdır.
- GET yöntemi genellikle sorgu dizeleri gibi güvenlik sorunu olmayan veriler için kullanımı uygundur.
- GET istekleri sadece veri istemek için kullanılır.
Form Get Methodu
Bu örnek formda get methodu kullanılmakta
<form action="post.php" target="_self" method="get"></form>
POST Yöntemi
- POST yöntemi en yaygın kullanılan HTTP yöntemlerinden biridir.
- POST istekleri tarayıcı ön belleğinde ve geçmişinde asla kalmaz.
- POST yöntemi ile gönderilen form verileri kesinlikle URL'de gösterilmez.
- POST istekleri işaretlenmez.
- Hassas içerikler ve veriler üzerinde uğraşırken POST methodu kullanılmalıdır..
Önemli : Hassas veriler ile uğraşırken GET
methodu yerine kesinlikle POST
methodu kullanmanız tavsiye edilir.
Form Post Methodu
Bu örnek formda post methodu kullanılmakta
<form action="post.php" target="_self" method="post"></form>
Form Elemanları
Form Elemanları | Açıklaması |
<form> | Kulanıcı giriş bilgilerini almak için HTML de form öğeleri kullanılır. |
<input> | Kullanıcıya farklı giriş bilgileri sunmak için input öğeleri kullanılır. |
<label> | Kullanıcıya sunulan inputlara etiket tanımlamak için <label> etikleri tanımlanır. <label for="input_name"></label> şeklinde tanımlanır. |
<select> | Form içerisinde açılır liste elemanlarını tanımlar. |
<textarea> | Multi-line/çok satırlı kullanıcı giriş bilgisi tanımlamak için kullanılır. |
<button> | Tıklanabilir bir buton tanımlamak için kullanılır. |
<fieldset> | Form verilerini gruplandırmak için kullanılır. |
<legend> | <fieldset> elemanına başlık tanımlamak için kullanılır. |
<datalist> | önceden belirlenmiş veri listesi seçenkleri sunmak için kullanılır |
<output> | Form girişlerinde yapılan bir hesaplama sonucu almak için kullanılır. |
<option> | Açılır listede bir seçenek tanımlamak için kullanılır. |
<optgroup> | Açılır listede ilgili içeriğin bir grubunu tanımlar |
input type="" Özelliği
type="" | Açıklaması |
---|---|
type="text" | Tek satırlık bir giriş metin alanını tanımlar. |
type="password" | Şifre giriş alanını belirtir. |
type="email" | E-posta giriş alanını belirtir. |
type="tel" | Telefon numarası girişi için kullanılabilir. |
type="submit" | Sunucuya form verilerini göndermek için tıklanabilir bir button oluşturur. |
type="reset" | Forma girilen değerleri sıfırlamak için tıklanabilir bir buton ekler. |
type="radio" | Kullanıcıya yalnızca 1 seçenek seçtirmek için kullanılır. |
type="checkbox" | Kullanıcya seçenekler arasından çoklu seçim yaptırmak isteniyorsa kullanılır. |
type="button" | Tıklanabilir bir buton tanımlamak için kullanılır. |
type="color" | Kullanıcya bir renk seçimi yaptırmak için kullanılır. |
type="date" | Tarih seçtirmek için kullanılır. |
type="datetime-local" | Tarih ve saat seçimi yapmak için kullanılır. |
type="month" | Sadece Yıl ve Ay seçimi yaptırmak için kullanılır. |
type="time" | Saat seçimi yaptırmak için kullanılır. |
type="file" | Bir dosya seçme ve yükleme alanı olarak kullanılır. Kullanıcı tıklanabilir düğme ile fotoğraf vb. dosya yükleyebilir. |
type="range" | Bir sayı aralığı ya da fiyat aralığı seçimi için kullanılır. |
type="search" | Arama alanları için kullanılmaktadır. |
input Element
<input>
elemanı en çok kullanılan form elemandır. Farklı type=""
özniteliği ile farklı amaçlarda birçok kullanımı mevcuttur. Yukarıdaki type="" listesi ile input elementinin farklı kullanımlarını inceleyiniz.
Label Element
<laberl>
elemanı çeşitli form elemanları için etiket ve başlık olarak tanımlanabilir. Ayrıca radio ve checkbox özniteliği olan input giriş elemanlarına tıklama zorluğu yaşanmasını da ortadan kaldırır.
<label for="inputID">
şeklinde aynı id'ye atanmış bir label üzerindeki metine tıklanıldığında form elemanına da tıklanmış olacaktır.
Input & Label Örneği
Input & Label Örneği
<form action="">
<label for="labelID"> Adınız</label>
<input type="text" name="label1" id="labelID" value="Adınız">
</form>
Select Element
<select>
elemanı kullanıcya bir açılır liste içerisinden bir veya birden fazla seçenek seçtirmek için kullanılır.
Select Kullanımı
<form action="">
<label for="selectID">Kurs Seçiniz</label><br>
<select name="language" id="selectID">
<option value="html">HTML</option>
<option value="css">CSS</option>
<option value="sass">SASS</option>
<option value="javascript">JAVASCRIPT</option>
<option value="bootstrap">BOOTSTRAP</option>
</select>
</form>
Select Özellikleri
<select>
elementinde liste görünürülüğünü 1 yerine çoklu göstermek için size=""
özniteliği atayabilirsiniz. Aynı şekilde birden fazla seçim yaptırmak için multiple
özniteliği de atayabilirsiniz.
Select Kullanımı
<form action="">
<label for="selectID">Kurs Seçiniz</label><br>
<select name="language" id="selectID" size="3" multiple>
<option value="html">HTML</option>
<option value="css">CSS</option>
<option value="sass">SASS</option>
<option value="javascript">JAVASCRIPT</option>
<option value="bootstrap">BOOTSTRAP</option>
</select>
</form>
Textarea Element
<textarea>
elementi çok satırlı yani multiline metin giriş alanı gösterilmek istenildiğinde kullanılan form elemanıdır.
<textarea>
elemanına row=""
ve cols=""
öznitelikleri eklenebilmektedir.
row=""
öznitelği görünür metin alanının satır sayısını ve yükesekliğini belirtir.cols=""
özniteliği ise görünür metin alanının genişliğini belirtmek için kullanılır.
<form action="">
<textarea name="text" id="textareaID" cols="50" rows="50"></textarea>
</form>
Fieldset ve Legend Elementleri
Eğer uzun bir form ile çalışıyorsanız ve form üzerindeki verileri gruplandırmak isterseniz fieldset
elemenı sizin için en iyi çözüm olacaktır.
<legend>
elemanı ise fieldset
elemanı için bir başlık tanımlar ve kullanıcıya ve arama motorlarına o gruptaki form verilerinin ne hakkında olduğunu belirtir.
Legend ve Fieldset Kullanımı Örnek
Eğer Bootsrap CSS kullanmıyor olsaydık görünüm aşağıdaki gibi olacaktı.
Legend ve Fieldset Kullanımı Örnek
<form action="">
<fieldset>
<legend>Kişisel Bilgileriniz</legend>
<label for="nameID">Adınız</label><br>
<input type="text" id="nameID" placeholder="Adınız" name="name"><br>
<label for="yearID">Yaşınız</label><br>
<input type="text" name="year-old" placeholder="Yaşınız" id="yearID"><br>
<label for="expertID">Uzmanlıklarınız</label><br>
<input type="text" id="expertID" name="experience" placeholder="Uzmanlıklarınız">
</fieldset>
</form>