1. Reklam


    1. joysro
      ledas
      jungler
      keasro
      zeus
      karantina

Php İle Form Kontrolü


  1. Statuss

    Statuss Bilgiliyim rank8

    Kayıt:
    25 Haziran 2008
    Mesajlar:
    1.178
    Beğenilen Mesajlar:
    0
    Ödül Puanları:
    36
    Şehir:
    the wrong place
    Php ile bir kaç aşamalı olarak kontrol edilecek bir form oluşturuluyor. Oldukça yarar bir makale
    merhabalar değerli php severler . makalemin konusu çok önemli ve kodlama aşamasıda bir o kadar önemlidir güvenli bir sonuc için .

    html formunuzu yazalım önce bu , zaten uygulamamız tek sayfa olacak .

    kontrol.php

    Kod:
    <form action="<? SCRIPT_NAME ?>" method="post"> 
    MusteriId: <input name="mus"> Html  acik<input name="html" type="radio" value="1">Html  kapalı<input name="html" type="radio" value="0"> <input name="ok" type="submit"> </form>  

    Evet html form bitti şimdi onu karşılayalım

    kontrol.php dosyasının son halı şöle


    Kod:
    <?  $_POST['mus']; $_POST['html']; ?>
    <form action="<? SCRIPT_NAME ?>" method="post"> 
    MusteriId: <input name="mus"> Html  acik<input name="html" type="radio" value="1">Html  kapalı<input name="html" type="radio" value="0"> <input name="ok" type="submit" value="Kaydet"> </form> 

    methodumuz( method="post") post olduğuna göre

    $_POST['mus'] ve $_POST['html']
    esasen yukarda 2 alan olduğu halde biz 2 deger aldık biri mus değeri diğeri html değeri aslında post ile iki tane html değeri gelmektedir çünkü biz iki tane radio yazdık daha doğrusu html isimli radionun iki tane değeri var. bu değerleri radio nun prensibi olarak diziye aktarır. neyse bizim işmiz bunlar değil :) son olarak gelen verileri karşıladık yapmamız gerekenler neler ve nasıl bir kontrol yapmamız lazım klasik olarak sıralayalım isterseniz

    a0-submit nesnesine tıklanmışmı [evet->a1] [hayır ->a6]

    a1-gelen veri dolumu [evet->a2] [hayır->a5]

    a2-html kodlarının gosterimi açıkmı [evet->a3] [hayır->a4]

    a3-html kodları yazı içinde güveli bir şekilde goster ve ekrana yaz

    a4-html kodlarını temizle ve ekrana yaz

    a5-Hata 1 mesajı

    a6-Stop

    evet kendimize göre ufak bir algoritma geliştirdik şimdi sadece kodları yerleştirelim .

    Kod:
    <?
    if($_POST['ok']=="Kaydet") 
         { 
            if($_POST['mus']=="" or $_POST['html']=="") 
               { 
                    echo "Lütfen alanları boş bırakmayınız"; 
                    
                } 
                else 
                 { 
                      if($_POST["html"]==1)  
                         {      
                              
                              $_POST['mus']=htmlspecialchars($_POST['mus']);
                              echo "Muşteri : ".$_POST['mus']."<br>Html açık";
                          }  
                            elseif($_POST["html"]==0)
                              {  
                                  $_POST['mus']=str_replace("<"," ",$_POST['mus']); 
                                  $_POST['mus']=str_replace(">"," ",$_POST['mus']); 
                                  echo "Müşteri :".$_POST['mus']."<br> Html kapalı";
                               }
                     }
             }
    
    ?>



    bu şekilde arkadaşlar php kodumuzuda yazdık kontrol.php sayfamızın son halı şöle olacak


    Kod:
    <?
    if($_POST['ok']=="Kaydet") 
         { 
            if($_POST['mus']=="" or $_POST['html']=="") 
               { 
                    echo "Lütfen alanları boş bırakmayınız"; 
                    
                } 
                else 
                 { 
                      if($_POST["html"]==1)  
                         {      
                              
                              $_POST['mus']=htmlspecialchars($_POST['mus']);
                              echo "Muşteri : ".$_POST['mus']."<br>Html açık";
                          }  
                            elseif($_POST["html"]==0)
                              {  
                                  $_POST['mus']=str_replace("<"," ",$_POST['mus']); 
                                  $_POST['mus']=str_replace(">"," ",$_POST['mus']); 
                                  echo "Müşteri :".$_POST['mus']."<br> Html kapalı";
                               }
                     }
             }
    
    ?>
    <form action="<? SCRIPT_NAME ?>" method="post"> 
    MusteriId: <input name="mus"> Html  acik<input name="html" type="radio" value="1">Html  kapalı<input name="html" type="radio" value="0"> <input name="ok" type="submit" value="Kaydet"> </form>


    Şimdilik bu kadar arkadaşlar sanırım anlaşılır olmuştur.
    bu arada bi kaç kodu açıl,klamak istiyorum kısaca

    SCRIPT_NAME, PHP_SELF : o anda icra edilen scriptın adıdır yanı sayfamızın adı .

    htmlspecialchars = html i sayfamızda gösteririz icra etmesine izin vermez . Bu özellkle ziyaretçi defteri v.s gibi yerlerde hackerlerin hiç sevmediği bi koddur. :)

    str_replace = değiştirme işlemi yapar.