Web Formu Oluşturmak

Php ve html'i klasik şekilde bir arada kullanıp basit bir form oluşturalım.

Ad, soyad, doğum yeri, baba adı, kimlik numarası cinsiyeti ve mail adresi bilgilerini içeren bir kayıt formu hazırlayalım. Bu formu php ve html kodlarını birbiri içine gömerek yazıyoruz. Aşağıdaki kodu “kayit.php” adıyla kaydediyoruz. Bu form girilen bilgileri post metoduyla “form.php” ye yolluyor.

kayit.php


<html>

<head>

  <title>Kayıt Formu</title>

  <METAcontent=text/html;CHARSET=iso-8859-9 http-equiv=Content-Type>

</head>

<body bgcolor=#008000 text=#00FF00> 





//kayıt formu doldurulurken eksik bilgi girilirse geri dönüldüğünde,girilmiş olan bilgilerin yeniden 

//girilmesini önlemek için girilmiş olan bilgileri request ile alırız.

$name=$_REQUEST['name'];

$sname=$_REQUEST['sname'];

$place=$_REQUEST['place'];

$fname=$_REQUEST['fname'];

$tcno=$_REQUEST['tcno'];

$gender=$_REQUEST['gender'];

$mail=$_REQUEST['mail'];

?>     

<font size=6 color=#FFFFFF><center><B><i>KAYIT EKRANI</i></B></center><br></font>



<!-- girilen bilgileri post metoduyla form.php ye yolluyoruz.-->



<form action=form.php method=post><br><br>

 echo "

<B><pre>Ad</B>              <input type='text' name='name' value='$name' size='15' maxlength='30'><br></pre>

<B><pre>Soyad</B>           <input type='text' name='sname' value='$sname' size='15' maxlength='30'><br></pre>" ?>     

   

 

  echo "

<B><pre>Dogum Yeri</B>      <input type='text' name='place' value='$place' size='15' maxlength='30'></pre> 

<B><pre>Baba Adi</B>        <input type='text' name='fname' value='$fname' size='15' maxlength='30'></pre>

<B><pre>TC no</B>           <input type='text' name='tcno' value='$tcno' size='15' maxlength='11'></pre>

<B>Cinsiyet</B>      ";

//forma geri dönülürse secili cinsiyeti kontrol edip dogrusunu check ederiz.  

       if($gender=='Bay'){

    echo (" 

           <input type='radio' checked name='gender' value='Bay'>Bay

           <input type='radio' name='gender' value='Bayan'>Bayan<br> ");}

      else if($gender=='Bayan'){

        echo (" 

           <input type='radio' name='gender' value='Bay'>Bay

           <input type='radio' checked name='gender' value='Bayan'>Bayan<br> ");}  

      else {

           echo (" 

               <input type='radio' name='gender' value='Bay'>Bay

               <input type='radio' name='gender' value='Bayan'>Bayan<br> "); }

            

  echo "  

<B><pre>e-mail</B>          <input type='text' name='mail' value='$mail' size='15' maxlength='30'><br></pre>

<br>";

?>

  <br><input type="submit" value="Gönder"><br>



</form>  

</body>

</html>



Aşağıdaki kodu da “form.php” adıyla kaydediyoruz.form.php de kayıt formundan gelen bilgileri alıp eksik bilgi girilmemişse bu bilgileri ekrana yazdırıyor, eksik bilgi girilmişse uyarı verip tekrar kayıt formuna geri dönüyor.



form.php

<?php 

//kayıt formundan gelen bilgiler alınır.

$name=$_REQUEST['name'];

$sname=$_REQUEST['sname'];

$place=$_REQUEST['place'];

$fname=$_REQUEST['fname'];

$tcno=$_REQUEST['tcno'];

$gender=$_REQUEST['gender'];

$mail=$_REQUEST['mail'];



//gelen degerlerin dolu olup olmadıkları kontrol edilir.

if(($name!=NULL)&&($sname!=NULL)&&($place!=NULL)&&($fname!=NULL)&&($tcno!=NULL)&&

(
$gender!=NULL)&&($mail!=NULL)){

echo (
" <body bgcolor='#008000'>

<br><center><table border='5' cellpadding='0' cellspacing='0' bgcolor='eaeaea' width='300'>

    <TR><TD><B>Kayıt İşlemi Başarıyla Gerçekleştirildi</B></TD></TR></table>

    </center></body>



"
);

echo 
'Ad=',$name,"<br>";

echo 
'Soyad='$sname,"<br>";

echo 
'Dogum yeri='$place,"<br>";

echo 
'Baba Adı='$fname,"<br>";

echo 
'T.C No='$tcno,"<br>";

echo 
'Cinsiyet='$gender,"<br>";

echo 
'E-mail='$mail,"<br><br>";

}



//eksik bilgi girilmişse girili degerler hidden olarak geri döndürülüp kayıt formuna dönülür.

else{



   echo (
"   

       <body bgcolor='#008000'> 

    <br><center><table border='4' bgcolor='eaeaea' width='300'>

    <TR><TD><B>Eksik Bilgi Girdiniz..Tekrar deneyiniz!</B></TD></TR></table><br>

    <table cellspacing='30'><TR><TD>

    <form action='kayit.php' method='post'>

    <input type='hidden' name='name' value='
$name'>

    <input type='hidden' name='sname' value='
$sname'> 

    <input type='hidden' name='place' value='
$place'> 

    <input type='hidden' name='fname' value='
$fname'> 

    <input type='hidden' name='tcno' value='
$tcno'> 

    <input type='hidden' name='gender' value='
$gender'> 

    <input type='hidden' name='mail' value='
$mail'> 

    <input type='submit' value='GERİ'>     

        </form></TD>

        </TR></table>

        </center></body>



"
);

   } 

?> ?>



Bu şekilde kod yazmanın bazı dezavantajları vardır. Php ve html’i iç içe gömerek yazmak kodda karmaşıklığa neden olmaktadır. Örneğin sadece görüntüyle uğraşacak olan bir tasarımcının bu kodu anlayabilmesi için php bilgisine de ihtiyacı olacak ve html kodları üzerinde rahatça değişiklik yapma imkanı olmayacaktır. Ayrıca bu şekilde form alanları oluşturmak biraz zahmetli olup, forma girilen bilgilerin kontrolünü yapmakta ayrı bir çaba gerektirmektedir.
Bu dezavantajlardan kurtulmak için smarty ve html_quickform kullanabiliriz.

Alıntıdır: www.programlama.com
  • Etiketler;
Yorum Yaz

Yorum yazabilmek için üye girişi yapmanız gerekiyor!

hocam öncelikle tesekkürler . hocam kodlar calısıyor ama birde ben admin olarak girilen kayıtların hepsini görmek istiyorum bunun burde mysql bağlantılı örnegini yaparsanız sevinirim kolay gelsin iyi çalısmalar
mail() fonksiyonu hakkında yardım. bana bu hazırladığım for mu e-mail ime göndermem gerek... hadi anlat:hayret:
slm. bana WEB PROGRAMLAMADA FORM OLUŞTURMA VE NESNE ÖZELLİKLERİ konulu bir tez lazım. dönem ödevi için. eger yardımcı olabilirseniz cok memnun olurum. şimdiden teşekkürler:-dusun::kirp:
Birde formdan gelen bilgileri mysql de saklayip listelemeyi anlatsanız çok güzel olurdu
çok teşekkürler harika anlatılmış.. size zahmet $_GET,$_POST,$_REQUEST arasındaki farkı anlatırsanız çok makbule geçer...cevabınızı bekliyorum
Ya çok acemice bir soru olacak ama sormam gerek Kaydediyoruz derken sayfa olarak mı kayıt ediliyor _?:hayret:
hocam elinize sağlık fakat güvenlik açısından request yerine post kullanılması daha uygun yinede teşekkür ederim:kirp:
çok saolsun hocam fakat request yerine post metodu kullanılması güvenlik açısından daha iyi...

Yukarı Git