PHP Form İşlemleri

HTML ile hazırladığımız bir form PHP yardımıyla nasıl işlevsel hale getirilir? Bu başlıkta bunu öğreneceğiz.

Bir form yapısı şu şekildedir.

HTML Kodu

<html>
<body>

<form action="deneme.php" method="post">
Adınız: <input type=text" name="isim" />
Yaşınız: <input type=text" name="yas" />
<input type="submit" name="gonder" value="Gönder" />
</form>

</body>
</html>
Burada METHOD özelliği iki şekilde olabilir: "get" ve "post". GET verileri adres satırına ekleyerek gönderir. Örneğin deneme.php?ad=murat şeklinde olacaktır. POST metodu ise verileri aynı dosyaya adres satırına yansımadan gönderir. Yani yollanan dosya yine deneme.php adına olacaktır.

PHP bizler için form verilerini iki değişkende saklar. GET ile alınan verileri $_GET['nesne'], POST ile alınan verileri $_POST['nesne'] şeklinde. Burada nesne olarak belirtiğimiz HTML formunda INPUT'larda belirttiğimiz "name" özelliğindeki değerdir.

$_GET İşlevini Kullanmak

Bu şekilde gönderilen veriler adrese eklenirler. Yukarıdaki form method="get" olarak gönderilseydi, adresimiz deneme.php?ad=murat&yas=27 şeklinde olurdu. PHP ile bu verileri işlemek içinse $_GET['ad'] ve $_GET['yas'] nesnelerini kullanırdık.

NOT: Aşağıdaki örnekte isset() bir değişkenin tanımlı olup olmadığını kontrol etmemize yarar. Tanımlanmamış değişken kullanmak php de hata mesajları almanıza yol açar. isset() tanımlıysa TRUE değilse FALSE olarak döner.

HTML Kodu

<html>
<body>

<?php
   if ( isset( $_GET['ad'] ) && isset( $_GET['yas'] ) )
      echo $_GET['ad'] . ", " . $_GET['yas'] . " yaşındadır.";
?>

<form action="deneme.php" method="<b>get</b>">
Adınız: <input type=text" name="isim" />
Yaşınız: <input type=text" name="yas" />
<input type="submit" name="gonder" value="Gönder" />
</form>

</body>
</html>

$_POST İşlevini Kullanmak

Form verilerini $_POST kullanarak da elde edebiliriz. Bu şekilde gönderilen veriler adres satırına işlenmez.

HTML Kodu

<html>
<body>

<?php
   if ( isset( $_POST['ad'] ) && isset( $_POST['yas'] ) )
      echo $_POST['ad'] . ", " . $_POST['yas'] . " yaşındadır.";
?>

<form action="deneme.php" method="post">
Adınız: <input type=text" name="isim" />
Yaşınız: <input type=text" name="yas" />
<input type="submit" name="gonder" value="Gönder" />
</form>

</body>
</html>