Form İşlemlerini Yapmak ve Oturum Yönetimini Gerçekleştirmek -2

Form İşlemlerini Yapmak ve Oturum Yönetimini Gerçekleştirmek -2

12 Ocak 2020 0 Yazar: emrebalasar

PHP’nin en güçlü özelliklerinden biri HTML formlarına yaklaşım biçimidir. Bilinmesi gereken ilk önemli durum, form içindeki tüm elemanların PHP tarafından aktif olarak kullanılabilir olacağıdır

POST ve GET Metodu ile Formlardan Bilgi Almak

Formların veri aktarabilmeleri için iki ayrı yöntem vardır. Bunlar POST ve GET yöntemleridir. Dolayısı ile PHP’de formlardan gelen bilgileri almanın da iki yöntemi vardır. Bunlar;$_POST,$_GET yöntemleridir.

GET Metodu

GET metodu ile veriler iletildiğinde forma girilen tüm bilgiler adres satırında URL’ye eklenerek iletilir

Örnek: Aşağıda ‘form_get_1.html’ dosyasına dikkat edilirse herhangi bir PHP kodu içermemektedir. Bununla birlikte bu dosyada bulunan form bir PHP dosyasına yönlendirilmektedir. ‘formu_isle_1.php’ isimli dosya ise kendisine GET metodu kullanılarak gönderilen bilgileri alıp ekrana yazmak için hazırlanmış bir PHP dosyasıdır. Formdan gelen bilgiler $_GET değişkeni kullanılarak alınmaktadır.

Örnekte formu_isle_1.php’ sayfasının tarayıcı görünümüne dikkat edilecek olursa adres çubuğunda bilginin URL’ye nasıl eklendiğini görebiliriz. Burada bilgilerin eklenme işini gerçekleştiren yapı HTML
etiketidir. URL adresinden sonra “?” kullanılarak bilgi ekleme işlemi gerçekleşmiştir. Bilgiler, değişken_ismi=değer şeklinde eklenmiş ve her yeni bilgi “&” işareti ile peşi sıra eklenmiştir.

form-1-get
form-1-get
form-1-isle
form-1-isle

HTML formlarında bu tür bilgiler <a>…. </a> etiketi kullanılarak da oluşturulabilmektedir. Bu işlem “URL sorgu cümlesi oluşturmak” olarak adlandırılabilir. Yukarıdaki örneğin <a> etiketi ile oluşturulması şu şekildedir.

<a href=“formu_isle_1.php?isim=Hakan&amp;yas=33”> URL Sorgu Cümlesi </a> 

<!--URL sorgu cümleleri çoğunlukla bir yazının devamını okumak için devamını okuyun linklerinde karşımıza çıkmaktadır.-->

Formdan gönderilen iki sayının toplamını ekrana yazan örneği hazırlayalım. PHP değişkenleri olan $_GET ve $_POST değişkenleri bütün veri türlerini taşıyabilir.

form-1-get
form-1-get

GET yöntemi kullanılarak oluşturulan formlar çoğunlukla basit formlardır. Karmaşık formlarda çoğunlukla POST metodu tercih edilir.

POST Metodu

POST metodu formlarda bilgiyi taşıma yöntemlerinden bir diğeridir. GET metodunun aksine bilgi taşınırken URL adresinde görünmez. Bu yönüyle POST metodunun daha güvenilir olduğunu söyleyebiliriz. Ayrıca POST metodunda bilginin taşınması esnasında bir sınırlama yoktur.

POST metodunun kullanımı GET ile bezerdir. Oluşturulan formun “method” özelliği POST yapılarak formun bu yöntemi kullanarak veriyi göndermesi sağlanır. PHP tarafında ise $_GET dizi değişkeni yerine $_POST dizi değişkeni kullanılır.

Aşağıda ‘form_post_1.html’ dosyası ‘formu_isle_1.php’ isimli dosyaya yönlendirilmiştir. ‘formu_isle_1.php’ isimli dosya ise kendisine POST metodu kullanılarak gönderilen bilgileri alıp ekrana yazmak için hazırlanmış bir PHP dosyasıdır. Formdan gelen bilgiler $_POST değişkeni kullanılarak alınmaktadır.

Notice: Undefinedindex:
Eğer php sayfanızda yukarıdaki hata mesajını ve hata satırını görüyorsanız bunun anlamı şudur: $_GET yada $_POST dizi değişkenleri içine yazdığınız index isimleri bulunamadı. Formdan gelen kontrol yapılarına verilen isimleri kontrol ediniz.

form-2-post
form-2-post
form-2-post-çıktı
form-2-post-çıktı

Bu örneğimizde POST metodu kullanılarak farklı form kontrol elemanlarından bilgi elde edilecektir. ‘form_post_2.html’ dosyasında Cinsiyet ve Yabancı Dil sırasıyla “radio” ve “checkbox” özelliğini taşıyan form kontrolleridir.

Cinsiyet için kullanılan iki farklı “radio” özelliğindeki form kontrollerinin “name” özellikleri aynıdır. Bunun anlamı iki farklı değerden sadece bir tanesinin ‘formu_isle_2.php’ dosyasına iletilecektir.

Yabancı Dil için kullanılan üç “checkbox” özelliğindeki form kontrollerinin “name” özellikleri de aynıdır. Farklı olarak “[ ]” (köşeli parantez) işaretleri eklenmiştir. Bunun anlamı, verilen isim üzerinden değerler dizi olarak gönderilecektir. ‘formu_isle_2.php’ dosyasında ise diğerlerinden farklı olarak foreach döngüsü kullanılarak dizi değişken içinden istenilen değerler elde edilecektir.

form-post-2
form-post-2

‘form_post_2.html’ dosyasında kullanılan iki kontrol nesnesi olan “reset” ve “submit” özelliğindeki butonlara isim verilmemiştir. Bunun nedeni, PHP sayfasında elde edilmeyecek olan kontrol nesnelerine isim vermeye gerek yoktur.

İşletmelerde Beceri Eğitim kategorisine buradan! gidebilirsiniz.