Php

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>
<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>
<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

Bu şekilde gönderilen veriler adrese eklenmez. Yukarıdaki form method=”post” 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.

<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>

Yazar Hakkında

serkan

Leave a Comment