PHP Form Kullanımı Ve Örnekleri

UntouchabLe

Kayıtlı Kullanıcı
Katılım
5 Şub 2020
Mesajlar
205
Tepkime puanı
87
Puanları
28
Konum
Van
PHP’de ziyaretçilerden ve kullanıcılardan bilgi almak için formları kullanacağız. Formlar sayesinde kodları dışarıdaki verilere ve dinamik içeriklere açarız. Mesela giriş formları, e-mail gönderme formları, hesaplama formları, yönetim panelleri vesaire.

HTML formu ile PHP scriptimize göndereceğimiz her bir form elemanı PHP de gönderdiğimiz metod türüne göre $_GET ya da $_POST içinde bir eleman olur. Yani bizi dışarıdaki hayata bağlayan ve dışarıdan bilgi almamızı sağlayan köprülerimiz, pencerelerimiz $_GET ve $_POST global değişkenleridir.

HTML Form yapımı

PHP’ye verileri göndermek için önce bir arayüz tasarlamamız gerekiyor. Verilerin gönderileceği bir form tasarlamamız gerekiyor.

Bir HTML formunu taslak şeklinde çizelim:

HTML:
<form action="formun gönderileceği sayfa" method="formun verilerini gönderme metodu">
   buraya ise formun elemanları gelecek.
</form>

Temel form elemanları

Formun içerisine yerleştireceğimiz bir çok form elemanı mevcut. Metin alanları, parola alanları, çoklu onay kutucukları, radyo butonları, gönderme butonları, dosya seçim elemanları gibi çeşit çeşit form elemanı mevcuttur.

Her bir form elemanında “name” parametresi olmak zorundadır. Bu paramtre o elemanın ismini belirtir. Her form elemanının bu parametresine yazacağımız isim sayesinde PHP’de buluruz.

Aynı şekilde varsayılan form elemanı değerini belirlemek ya da radyo butonların değerini belirlemek içinde “value” parametresini kullanırız. Bu parametreye yazacağımız değerler PHP’de o elemanın değerini belirler.

İşte HTML form elemanları ve örnek kullanımları:

form.png

Hemen bunlardan yeni bir form örneği oluşturup tablodaki örnekleri uygulamalı olarak gösterelim:

formgörünümü.png

Form gönderme metodları (GET ve POST) arasındaki farklar

İki tane metodumuz var, bunlar GET ve POST. İkiside formumuzdaki verileri PHP scriptimize göndermeye yarıyor. Tek farkları verileri gönderme yolları.

Eğer metod olarak GET’i seçersek formu gönderdiğimizde PHP dosyamızın adı index.php ise adres çubuğunda gönderdiğimiz değerler yazacaktır. Örneğin: şeklinde olacaktır.

POST seçtiğimizde ise GET’de olduğu gibi gönderdiğimiz veriler adres çubuğundan değilde browser üzerinden gönderilir. Yani seçtiğimzi PHP sayfasına içten gönderilir, aynı cookie ve sessionlar gibi.

Örnekler ile gösterelim:

index.php adında bir dosya oluşturalım ve içerisine aşağıdaki kodu ekleyelim.

PHP:
echo $_GET['isim'];

Ve bu sayfaya index.php?isim=1tikşeklinde girelim. Wamp kullanıyorsanız şeklinde olacaktır. Sonuç olarak ekranda adres çubuğunda belirttiğimiz isim değeri yani 1tik yazar.

GET metodunu kullanmak için bir forma ihtiyaç yoktur fakat POST metodu yanlızca bir form ile gönderilir.

Bir örnek daha yapalım, bu sefer bir matematik işlemi yaptıralım:

carp.php adında bir dosya oluşturuyoruz ve aşağıdaki kodları yazıyoruz:

PHP:
$sayi = $_GET['x'];
$sonuc = $sayi * 5;
echo $sonuc;

carp.php?x=10 şeklinde girdiğimizde ekranda 50 yazacaktır. Adres çubuğuna yazacağımız her x değerini 5 ile çarpıp ekrana yazacaktır.

Formu kontrol etmek

Bir formun verilerini işlemeden önce bize form ile veri gönderilip gönderilmediğini ya da gönderilen değerlerinin boş olup olmadığını kontrol etmemiz gerekiyor. Bunun içinde if ifadesini, isset() ve empty() fonksiyonunu kullanacağız.

İlk olarak basit bir form yapalım, dosyamızın adı giris.php olsun, buradan kontrol.php ye veri göndereceğiz:

PHP:
<form action="kontrol.php" method="post">
Kullanıcı:<br/>
<input type="text" name="kullanici" /><br/>
Şifre:<br/>
<input type="password" name="sifre" /><br/>
<input type="submit" value="Giriş yap" />
</form>

Şimdide kontrol.php‘nin içeriğini kodlayalım ve kontrolümüzü yapalım:

PHP:
<?php
if(isset($_POST['kullanici']) && isset($_POST['sifre'])) {
   $kullanici = $_POST['kullanici'];
   $sifre = $_POST['sifre'];

   if(empty($kullanici) || empty($sifre)) {
      echo 'Lütfen boş bırakmayın';
   } else {
      echo 'Girilen kullanıcı adı: ' . $kullanici . ' şifre: ' . $sifre;
   }
} else {
   echo 'Lütfen formu kullanın';
}
?>

İlk koşulda “isset($_POST[‘kullanici’]) && isset($_POST[‘sifre’])” $_POST[‘kullanici’] ve $_POST[‘sifre’] diye bir değişken tanımlanmış mı diye sorduk. Eğer ikiside tanımlanmış ise bu ifadenin kod bloğuna yazdığımız ikinci bir koşul daha devreye giriyor ve bu sefer gönderilmiş olan verilerin boş mu olup olmadığına bakıyor.

İkinci koşulda “empty($kullanici) || empty($sifre)” $kullanici değişkeninin değeri boşsa ya da $sifre değişkeninin değeri boşsa diye bir koşul tanımlıyoruz. Eğer ikisinden birisinin içeriği boşsa bu sefer ekrana uyarı olarak Lütfen boş bırakmayın yazdırıyoruz. Eğer ikiside boş değilse bu seferde ekrana forma yazdığımız kullanıcı adı ve şifre çıkıyor.

Bu örnekte aynı zamanda iç içe if ifadesi kullanmayıda göstermiş olduk.
 

usmanazam

Kayıtlı Kullanıcı
Katılım
9 Şub 2020
Mesajlar
37
Tepkime puanı
12
Puanları
13
Yaş
26
teşekkür ederim
 
5,683Konular
16,874Mesajlar
9,750Kullanıcılar
obbproSon üye
Üst