rss

Form İşlemleri

Yazar: EfsaneFenerli | Posted in

Form işlemleri gerçekten çok basittir.Bu işe başlamadan önce HTML'de form işlemlerine girmek zorundayız.Formlar ziyaretçiden bilgi almak için geliştirilmiş araçlardır.Formdan değişken tanımını name yapar.Eğer değişkene değer vermek istersek bunuda value takısı gerçekleştirir.Basit bir örnek verirsek:


< name="degisken_adi" value="degiskenin_degeri" type="text">



Bunu browsera yorumlatdığınızda bir yazı alanı çıkacaktır ve içerisinede degiskenin_degeri yazacaktır.Genelde value takısı konulmaz.Çünkü değişkenin değerini ziyaretçi tarafından atılması istenir.Bu girişi bait bir örneğe dökersek:

< action="form.php" method="post">
Adınız:< name="adi" type="text">

Soyadınız:< name="soyadi" type="text">

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


Bu HTML kodunu form.htm olarak kaydedin.Burada gördüğünüz gibi iki değişken oluşturuk.Bunlar adi ve soyadi dir.Buradaki değişkenlere formdan verilen değerleri aşağıda vermiş olduğumuz form.php dosyasına göndereceğiz.

$adi soyadınız da $soyadi'dir.";
?>


Formdan aldığımız değişken değerlerini form.php programına post methoduyla aktardık.Formlarda birde GET methodu vardır.Yukardaki form.htm örneğinde ki ilk satırda bulunan method="post" yerine method="get" yazıp kaydedin.Sonra yine çalıştırın.Bir fark olmadı deyilmi.Anacak adres satırına baktığımızda şöyle birşeyle karşılaştık: form.php?adi=GİLİLEN_AD&soyadi=GİRİLEN_SOYAD
Güvenlik açısından işe baktığımızda post methodu daha güvenlidir.Ama bazı durumlarda get methoduunu kullanmamız gerekir.Şimdi get methodunuda öğrendikten sonra form.php dosyasını çalıştırdığınızda karşınıza Sizin adınız soyadınız 'dir. yazısı çıkacaktır.Ama siz form.php yazan adres satırına form.php?adi=Mehmet&soyadi=samli yazdığınızda Bu sefer karşınıza şu çıkacaktır.Sizin adınız Mehmet soyadınız samli 'dir.Yani biz bu durumda formu kullanmadan PHP programımıza bilgi gönderdik.
Adres satırından bilgi göndermeği özetlersek: ilk olarak programın adı yazılır sonra soruişareti konur ve değişkeninadı yazılır.Sonra eşittir konup değişkenin değeri girilir.Başka bir değişkenide girmek için değişken değerini girdikten sonra & işareti konup değişken adı yazılıp eşittir denir.Sonrada değişkenin değeri girilir.Bu şekilde istenildiği kadar değişken girebilirsiniz.
Şimdi sıra geldi formu eksik dolduran ziyaretçileri uyarmaya.Bu durum güvenlik açısından çok önemlidir.Çünkü bazı durumlarda mesela kullanıcı kaydı yaptığınız bir formda kullanıcı adı ve şifre kısmının doldurulması mecburi olmalıdır.Ziyaretçiler form alanlarından hiçbirini doldurmadan direkt gönder butonunu tıkladığında formu doldurduğunuz için teşekkür ederiz gibi saçma sapan bir yazı gelmesini hiçkimse istemez.Bunun için ziyaretçilerimizi uyararmamız gerekir.Şüphesiz bu işi JavaScript'le de yapmanız mümkün.Ama JavaScript'i alt etmek hiçde zor değildir.Bu konudada biraz bilgi vereyim.JavaScript ile form koruyan sitelerde formu bilgisayarına kaydedip JavaScript'i silerek formu tekrar çalıştırınca JavaScript hiçbir işe yaramaz.Ama PHP sunucuda çalıştığı için ziyaretçinin bu işi yapması imkansızdır.
Form alanlarını eksik doldurmayı engellemek için if deyimi ile yapacağız.Tabii bu işi birkaç yöntemle yapmanız mümün.Biz burada bu yöntemlerden bazılarını göstereceğiz.Hangisini beğernirseniz onu denersiniz.İlk önce yukarıda yapmış olduğumuz form.htm dosyasına göre bir koruma yapacağız.

$adi soyadınız da $soyadi'dir.";
}
?>
$adi soyadınız da $soyadi'dir.";
}
?>
$adi soyadınız da $soyadi'dir.";
}
?>


Burada ki üç yöntemde aynı işi görür.Şimdi sırasıyla bu programları sırasıyla açıklayalım.birinci yöntemde bilmediğimiz empty komutunu kullandık.Empty değişkenin içerisine değer atanıp atanmadığını sorgular.Dolayısıyla if deyimimiz şöyle bir görev yapıyor:Eğer adi değişkeninin içerisne bir değer atanmadıysa alttaki komutları icra et.Yok değer girilmişse ilerle.Sonra PHP elseif e gelir.burada da yine soyadi değişkeni içine değer ara.Eğer değer atanmışsa devam et.Devamında da else göreve çağrılır.
İkinci yöntem ise bilmediğimiz komut isset.Bu komut empty komutunun tam tersigörev yaar.Yani değişkenin içerisinde değer olup olmadığnı sorgular.Biz burada isset komutunun başına bir ünlem işareti koyarak empty görevini üslenmesini istedik.
Üçüncü yöntemde ise direkt if deyimi ile değişkenin değerini boş yapıyoruz.Eğer formdan boş değer gelince bu uyarlıar devreye girer.
Formlarda güvenlik açısında birde girilecek değerin karakter sayısını sınırlamanız mümkündür.Mesela sitenize kullanıcı kaydı yapıyorsunuz ve şifrenin en az 6 karakterden oluşmasını istiyorsunuz.Bu işide şöyle yapıyoruz.



Burada strlen komutu değişkenin içerisine yüklenen değeri karakter olarak sayar.Burada sifre değişkenin içerisine en az 5 karakter girildiğinde hata mesajı verecektir.Son olarak formlarda email alanlarına yanlış mail adresi girildiğinde uyarı yapacak.Bunuda şöyle bir if deyimi ile engelleriz.

if(!(eregi("^[_a-z0-9-]+(\.[a-z0-9-]+)*@([0-9a-z][0-9a-z-]*[0-9a-z]\.)+[a-z]{2}[mtgvu]?$", $mail))){
echo "Email adresinizi yanlış yazdınız.\n";
echo "Email adresiniz adınız@domainadresi.com gibi olmalıdır.Lütfen geri giderek hatayı düzeltiniz";
}
else{
//Buraya devam eden kodlar girilir.
}


Burada eregi komutu değişkende karakter arar.Bu uzun sıralanışı açıklayıp kafanızı bulandırmak istemem siz sadece bu karakter sıralanışı alıp kullanabilirsiniz. Değiştireceğiniz tek nokta sonunda bulunan $mail değişkenidir.Siz formu düzenlerken mail alanına nasıl bir değişken tanımlarsanız orayada o değişkenin adını yazarsınız.


Kaynak: dersphp.blogspot.com
Alıntı Yaparken Kaynak Belirtirmelisiniz.

0 yorum yapıldı: "Form İşlemleri"

Sen de bir yorum yap...

Yorum Göndermek için mesaj yazmanız Yeterlidir.