49 – Html Form Attributes – (Nitelikleri)
Form attributes (nitelikleri) sayesinde form işlevsel hale gelecektir.
Html Form Action Attribute
Action attribute form içeriklerini sunucu tarafında çalışan form işleyiciye gönderir.
action yazılmadığı durumlarda form aynı sayfa içerisinde işlenmeye çalışılacaktır.
Örnek
<form action="formOku.php" method="post">
<label for="adi">Adınız:</label> <br/>
<input type="text" id="adi" name="adi" value="Mehmet"><br/>
<label for="soyadi">Soyadınız:</label><br/>
<input type="text" id="soyadi" name="soyadi" value="Eser"><br/>
<input type="submit" value="Gönder">
</form>
Bu örnekte form girdileri formOku.php sayfasına gönderilmiştir.
formOku.php sayfası form içeriğini okuyacak, sunucu tarafında çalışan bir dosyadır.
form bilgileri formOku.php sayfasına gönderilir ve bu sayfa bizim yazdığımız kodlar ile istediğimiz işlemi yapar.
Merak edenler için formOku.php sayfasının içeriği:
<?php
$adiniz = $_POST['adi'];
$soyadiniz = $_POST['soyadi'];
echo "Form verisi alındı ve işlendi, Buna göre;";
echo "<br />";
echo "Adınız: " ;
echo $adiniz;
echo "<br />";
echo "Soyadınız: ";
echo $soyadiniz;
Html Form Target Attribute
target attribute form verisinin hangi sayfada gösterileceğini belirtir.
Daha önce link verme derslerimizde gördüğümüz bir konuydu. Aynı şekilde hareket eder.
_self
Varsayılan özelliktir. Bağlantı tıklandığında aynı pencerede açar._blank
Sayfayı yeni bir pencerede veya sekmede açar._parent
Sayfayı bulunduğu üst çerçevede açar._top
Sayfayı aktif pencerenin gövdesinde açar.- framename Sayfayı iframe olarak açacaktır. (iframe dersi)
Örnek
<form action="formOku.php" target="_blank" method="post">
Html Form Method Attribute
Form verileri gönderirken get ve post olmak üzere iki yöntem kullanır.
method=”get” Yöntemi
method=”get” yöntemi form verisindeki bilgileri degişkenler vasıtasıyla url’ye ekler ve gönderir.
Get metodu ile gönderilen bilgiler adres çubuğunda gözükür.
Güvenli bir iletim yöntemi değildir. Önemli bilgiler için kullanılmaz.
Url uzunluğu maximum 2048 karakter olduğu için çok uzun veriler gönderilemez.
Verilerin iletildiği taraf gelen bilgileri $_GET[“etiket_adı”] şeklinde alır.
Örnek
<form action="formOkuGet.php" method="get">
<label for="adi">Adınız:</label> <br/>
<input type="text" id="adi" name="adi" value="Mehmet"><br/>
<label for="soyadi">Soyadınız:</label><br/>
<input type="text" id="soyadi" name="soyadi" value="Eser"><br/>
<input type="submit" value="Gönder">
</form>
Aşağıdaki resmin adres çubuğuna yazana dikkat edin. Değişkenler ile birlikte verileri gönderdiği görülecektir.
Bu html formunu formOkuGet.php sayfasına gönderdik.
formOkuGet.php sayfa içeriği:
<?php
$adiniz = $_GET['adi'];
$soyadiniz = $_GET['soyadi'];
echo "Form verisi alındı ve işlendi, Buna göre;";
echo "<br />";
echo "Adınız: " ;
echo $adiniz;
echo "<br />";
echo "Soyadınız: ";
echo $soyadiniz;
Php kodlarında görüldüğü üzere $adiniz = $_GET[‘adi’]; ile gelen bilgileri aldık.
method=”post” Yöntemi
method=”post” yöntemi form verilerini gövdesine ekler ve gizli bir şekilde gönderir.
post metodu daha güvenlidir. Önemli veriler için tercih edilir.
Url gibi bir sınırlama söz konusu değildir. Uzun veriler gönderilebilir.
Formu karşılayan php dosyası verileri $_POST[“etiket_ismi”] şeklinde okuyacaktır.
Örnek
<form action="formOkuPost.php" method="post">
<label for="adi">Adınız:</label> <br/>
<input type="text" id="adi" name="adi" value="Mehmet"><br/>
<label for="soyadi">Soyadınız:</label><br/>
<input type="text" id="soyadi" name="soyadi" value="Eser"><br/>
<input type="submit" value="Gönder">
</form>
Kodu denediyseniz gönderilen bilgilerin adres çubuğunda gösterilmediğini, gizli bir şekilde iletildiğini görebilirsiniz.
Form verilerimizi işleyen sunucu tarafındaki formOkuPost.php dosyamızın içeriği:
<?php
$adiniz = $_POST['adi'];
$soyadiniz = $_POST['soyadi'];
echo "Form verisi alındı ve işlendi, Buna göre;";
echo "<br />";
echo "Adınız: " ;
echo $adiniz;
echo "<br />";
echo "Soyadınız: ";
echo $soyadiniz;
Html Form Autocomplate Attribute
Formun otomatik tamamlama özelliğini açıp kapatmak için kullanılır.
Otomatik tamamlama ile kullanıcı daha önceden formu ziyaret ettiyse, girilen bilgileri otomatik olarak yazmasını sağlayacaktır.
Örnek
<form action="formOkuPost.php" method="post" autocomplate="on">
veya
<form action="formOkuPost.php" method="post" autocomplate="off">
şeklinde kullanımı vardır.
Html Form Novalidate Attribute
Girilen form verilerinin doğrulanmamasını sağlar.
Normalde form elemanlarından email, şifre gibi kullanımlarda otomatik olarak girilen veriyi kontrol eder. Formata uygun değilse uyarı verir. novalidate kullanıldığında bu doğrulama yapılmaz.
Doğrulama Yapan Örnek
<form action="formOkuPostValidate.php" target="_blank" method="post">
<label for="adi">Adınız:</label> <br/>
<input type="text" id="adi" name="adi" value="Mehmet"><br/>
<label for="soyadi">Soyadınız:</label><br/>
<input type="text" id="soyadi" name="soyadi" value="Eser"><br/>
<label for="mail">email adresiniz</label><br/>
<input type="email" id="mail" name="mail"><br/>
<input type="submit" value="Gönder">
</form>
Yukarıdaki örnekte gelişmiş bir validasyon yapmadık. Html form email elemanının kendi özelliklerinde bıraktık. Bizden mail adresi girmemzi istiyor.
Aşağıdaki örnekte novalidate ekledik ve farkı görün.
Doğrulama Yapmayan Örnek
<form action="formOkuPostValidate.php" method="post" novalidate>