5. Ders (Form İşlemleri)
Form işlemleri
PHP formlarda GET ve POST metoduyla gelen verileri $HTTP_POST_VARS ve $HTTP_GET_VARS çevre değişkenlerinde depolar. ayrıca formarda kullandığımız MULTIPLE şeçim paremetresi dışında gönderilen değerleri “<input type=text name=ali value=”?”>” örneğindeki gibi value değerini $ali değişkeninde tutup kullanıma hazır olarak sunar.
<? //formdan gelen name ="submit" değeri $submit eğer boş ise if (!$submit) { ?> <html> <head> </head> <body> <h4>Lütfen aşağıdaki kutuları doldurun ve Gönder button'una tıklayın</h4> <form action="<?echo$PHP_SELF?>" method="POST"> Adınız : <input type="text" name="ad" size="15" maxlength="15"><br> Soyadınız : <input type="text" name="soyad" size="15" maxlength="15"><br> <input type="submit" name ="submit" value="Gönder"> </form> </body> </html> <? } else //$submit değeri dolu ise,form gönderildi ise $submit değeri Go gelir { ?> <html> <head> </head> <body> Merhaba <?echo $ad ." ".$soyad?> </body> </html> <? } ?>
Multiple
Select distinct ad.from customer gelen verileri nasıl listeleyebilirim? yada MULTIPLE parametresiyle gelen verileri nasıl listeleriz yada kullanabiliriz. Bununla ilgili bir örnek daha yapalım örnek formumuz şu şekilde olsun
<form name="form1" method="post" action=""> <select name="veri[]" size="3" multiple> <option value="1">istanbul</option> <option value="2">ankara</option> <option value="3">izmir</option> </select> <input type="submit" value="ok" name="submit"> </form>
formdan gelen veriyi php ile okutalım ;
<?php foreach ( $HTTP_POST_VARS as $anahtar => $deger ) { if(gettype($deger)== "array"){ print ("$anahtar =<br>\n"); foreach($deger as $yenidegerler) print ("$yenidegerler<br>"); }else{ print ("$anahtar =$deger\n"); } } ?>
formdaki “veri[]” ifadesine dikkat etmek gerekir, çünkü php; veri[] değişkenini, elemanları olan bir dizi olarak görür ve yukarıda gettype fonksiyonu ile gelen veri tipi array(dizi) ise içinde bulunan elemanlar listelenir.
include, require (Harici Dosya)
Php çalıştığız ana dosya dışında başka bir dosyayı da içine katarak çalıştırabilirsiniz bunun için include ve require komutları kullanılır bunlların birbirinden farkı include ile çağrılan dosya geri return değeri döndürür ama require de bu söz konusu değildir Ana programa dahil edilirler.
[ilk.php]
<br> <?echo"burası sayfanın en üstü"?> <br>
[orta.php]
<?php $sayi =15; return $sayi; ?>
[son.php]
<br> <?echo"burası sayfanın en alt kısmı"?> <br>
[anasayfa.php]
<html> <?php require("./ilk.php"); ?> <?php $deger = include("orta.php"); echo $deger; ?> <?php $deger = require("orta.php"); echo $deger; ?> <?php $basari= @include("son.php"); if (!$basari) { print "Sayfa bulunamadı"; } ?> </html>