Php ve HTML Birlikte Kullanımı

'HTML-PHP-ASP-JAVA' forumunda Mavi_Sema tarafından 15 Mayıs 2009 tarihinde açılan konu

  1. Mavi_Sema

    Mavi_Sema Özel Üye

    Sponsorlu Bağlantılar
    Php ve HTML Birlikte Kullanımı konusu Php ve HTML Birlikte Kullanımı



    HTML icerisinde en cok kafa karistiran bolum suphesiz "form"larin kullanilmasidir.Formlar ile

    kullanicidan veri setleri alinarak server uzerine gonderilir.Bu yaziya <FORM> taginin

    kullanima ornekler vererek baslayacagiz.



    Genel olarak <FORM> taglari arasina yerlesitrilen kontroller ile kullanicdan alinan veriler

    paketlenerek server'a iletilir.Bu iletisim kullanicinin sayfa ya ulasmak icin URL yi browsera yazip

    entera basmasindan farkli degildir.Ayni sekilde formu dolduran kullanici "gonder" tusuna bastiginda

    tum veriler islenmek uzere servera gonderilir.Server bu veriyi PHP motoruna islemesi icin verir.Tum

    bu islemden sonra PHP kucuk bir "cevap" ciktisini (response) ayni sekilde istemciye iletir.



    Form Taginin Ozellikleri



    Form taginin Action,Method,Id,Class,Dir,Lang,Language,Name,Styl e,ve Title olarak tanimlanan

    ozellikleri vardir.Burada yanlizca Action ve Method ozelliklerine deginilecektir.



    Action



    Bu ozellik ile kullanici gonder tusuna bastigi zaman server uzerinde hangi sayfaya gidilecegi

    bildirilir.



    PHP- Kodu:


    PHP:
        <FORM ACTION="Veri_isleyecek_sayfa.php">
    PHP:

    [left]...

    </
    FORM>  [/left]







    Method



    Formdaki bilgilerin servera hagi yolla gonderilecegini belirtmek icin kullanilir.Alabilecegi iki

    deger vardir.GET ve POST.Kullanimi asagidaki gibidir.



    PHP- Kodu:


    PHP:
    <FORM ACTION="Veri_isleyecek_sayfa.php METHOD=GET>
    PHP:

    [left]....

    </
    FORM>  

                    [/
    left]






    veya,



    PHP- Kodu:


    PHP:
     <FORM ACTION="Veri_isleyecek_sayfa.php METHOD=POST>
    PHP:

    [left]....

    </
    FORM>  

                    [/
    left]






    (Aslinda alabilcegi deger Get ve Post ile sinirli degildir.Bunlardan ayri olarak

    HEAD,PUT,LINK,UNLINK,OPTIONS,DELETE,TRACE ve CONNECT degerleri istenilen amaca uygun olarak

    verilebilir.Bu secenekler genelde kullanilmaz)



    Hemen GET seceneginin kullanimina gecelim.Form tagi icerisinde kullanilan Method ozelliginin aldigi

    bu deger,Browser'a kullanicinin form icerisinde girdigi degerlerin URL uzerinde

    kontrol_ismi/aldigi_deger ciftleri seklinde tasinacagini soyler.Browser URL den sonra bir soru

    isareti koyarak degerleri kontol_isim/aldigi_deger ciftlerini URL satirinda tasir.Eger birden fazla

    isim/deger cifti varsa aralarina "&" ampersand isreti konulur.

    Bir ornek vermek gerekirse,



    oku.php?MakaleID=264737



    burada "MakaleID" isim "264737" deger'dir.



    Veya ?hayvanismi=kedi



    burada hayvanismi "isim" aldigi deger " kedi" dir.Bunu URL uzerinde Get ile soyle tasiyoruz:



    test.php?hayvanismi=kedi



    URL nin bir parcasi olan bu kisim artiksorgu stringi olarak adlandirilir.Bir kez kullandildiktan

    sonra PHP scriptleri icinde kullanilabilcek degisken sekline donusurler.Bir kez formu doldurup

    gonderdikten sonra gecilen diger sayfada PHP form uzerinde yer alan kontrolismi/deger ciftlerini

    degisken olarak degerlendirir.



    URL Encoding



    URL uzerinde yer alamayacak karekterler icin kullanilan encoding'dir.Programcinin herhangi bir sey

    yapmasina gerek yoktur.Tum bu islemler otomatik olarak server-istemci iletisimi sirasinda sizin

    kontrolnuzden bagimsiz olarak yaratilir.Web Browser URL uzerindeki yer almamasi gereken karekteri

    algilayarak buna uygun degistirmeyi kendisi yapar.Kullanilan encoding icin bir kac ornek asagida

    verilmistir.



    Karekter URL Encoding

    Tab %09

    Space (Bosluk) %20

    ! %21

    " %22

    @ %40



    POST



    Eger form uzerinde yer alan bilgilerin URL icinde gorunmesini istemiyorsaniz POST

    kullanabilirsiniz.Tek dezavanataj tum islemin digerleri tarafindan gorulebilecek derecede acik

    olmasidir.POST un yaptigi sey GET komutuyla tamamen aynidir.Aralarindaki tek fark

    Form uzerindeki verinin gonderimi ile ilgilidir.POST kullanildiginda form icindeki veri HTTP

    Body'si (HTTP Govdesi) icinde servera gonderilir.(Yukarida aciklandigi uzere GET kullanilarken form

    icindeki veriler URL'nin bir parcasi olarak servera iletiliyordu.)Eger gonderilen bilginin

    ,kullanicinin kullandigi browserin URL satirinda goruntulenmesini istemiyorsaniz POST

    kullanabilirsiniz.

    Bir baska konuda URL icinde gonderebilecegimiz verinin limitinin olmasina karsin POST ile buyuk

    veri gruplari servera rahatlikla iletilebilir.



    GET mi yoksa POST mu? Hangisini kullanmaliyim?



    Bazi kisiler GET'in hicbir zaman kullanilmamasi gerektigini dusunuyor.Bunun sebebi veri limiti ve

    tamamen guvensiz olusu ,veriyi URL uzerinde aktarmanin uygun olmadigi gibi.Aslinda bu konu ile

    ilgili kesin konsumak yanlis olur.Burada anlatilanlar programciyi bilgilendirmek amaci ile

    yazilmistir.POST kullanildiginda bir dezavantaj POST ile ulsailan sayfalarin asla "bookmark"

    edilemeyecegidir.Bu sebeple buyuk arama motorlari genelde GET kullanmaktadir (Ornek

    Altavista.com).GET icin guvensiz diyenler sunu da goz onune almalidir.POST sirasinda HTTP Body'si

    icinde gonderilen bilgilerde bir hacker icin gorunmez degildir.Guvenlik icin mutlaka Guvenli

    baglanti protokkolleri kullanilmalidir.



    HTML Form Kontrolleri ve PHP



    HTML form kontrolleri yardimiyla kulanicidan alinan bilgiler server'a ulastirilir.Form

    kontrollerinde kullanilan isimler PHP icin bir degisken ismidir.Aldigi deger ayni normal degisken'e

    verdigimiz deger ile aynidir.Tek farki degeri bizim atamamiz yerine web kullanicinin klavye'den o

    degiskenin degerini kendisinin girmesidir.Mesela bir text kontrol u icinde kullanicya adini

    sordunuz.Form uzerindeki text box kontrolunun adini "isim" diye girdiniz.Eger Web sayfasini

    kullanima acarsaniz ve birisi o text box'a herhangi bir deger girrip servera gonderirse bu olay PHP

    tarafindan "isim" degiskenine kullanicinin girdigi deger atanmis gibi davranilir.



    Text Box(Yazi Kutusu)



    HTML icerisinde <INPUT> elementi kullanilarak yaratilan bu kontrol belkide web uzerinde en

    alisik oldugumuz kontroldur.



    Kullanimi su sekildedir.



    <INPUT TYPE="Text" NAME="Textbox1">



    Ornek verecek olursak :



    1.Text editorunuzu acip asagidaki kodlari yazin.



    PHP- Kodu:


    PHP:
     <HTML>
    PHP:

    [left]<HEAD></HEAD>

    <
    BODY>

    <
    FORM METHOD=GET ACTION="sarkici.php">

    En sevdiginiz sarkici kim?



    <
    INPUT NAME="Sarkici" TYPE="TEXT">

    <
    BR>

    <
    BR>

    <
    INPUT TYPE=SUBMIT>

    </
    FORM>

    </
    BODY>

    </
    HTML>  

                    [/
    left]






    2.Bu dosyayi web serverin root klasorune "sarkici.html" olarak kayit edin.



    3.Yeni bir text editoru acin ve asagdaki kodlari yazin.



    PHP- Kodu:


    PHP:
     <HTML>
    PHP:

    [left]<HEAD></HEAD>

    <BODY>

    En Sevdiginiz sarkicinin ismi :

    <?php

    echo $Sarkici;

    ?>

    </BODY>

    </HTML>                [/left]






    4.Bu dosyayi web serverin root klasorune "sarkici.php" olarak kayit edin.



    5."sarkici.html" dosyaysini browserinizda acip bir isim yazmayi deneyin.



    6.Gonder tusuna bastiginizda program size yazdigizniz kisinin adini verecektir.



    Dikkat ettiyseniz ilk "test.html" dosyasinda textbox kontrolune "Sarkici" ismini verdik.Bu formu

    "test.php" dosyasina islenmesi icin gonderdigimizde PHP $Sarkici degiskenini otomatik olarak

    yaratip formdaki veriyi (Sakicinin Ismi) bu degiskene esitledi.





    Text Alanlari(Buyuk Yazi Alanlari)



    Bazen kullanicidan tum bir satiri veya satirlari gondermesini isteyebiliriz.Bu bazen kullanicinin

    yorumlari,dusunceleri veya bir konudaki makale yi html formu icerisine yazdirmak olabilir.Iste bu

    noktada kullanabilcegimiz HTML kontrolu olan TextArea kontrolu bize icinde bir cok satirin

    yazilabilkcegi bir text alani kontrolu yaratmamaizi saglar.Bu kontrolun en buyuk avantaji icine

    yazilabilecek satir sayisinin ayarlanabilmesidir.



    Bir ornek Vermek gerekirse,



    1.Text editorunuzu acin ve asagidaki kodlari girin.



    PHP- Kodu:

    PHP:
                           <HTML>

    <
    HEAD></HEAD>

    <
    BODY>

    <
    FORM METHOD=POST ACTION="textkontrol.php">

     

    En begendiginiz web siteleri hangileridir?

     

    <
    TEXTAREA NAME="Siteler" COLS="50" ROWS="5">

    http://www.ircforumlari.net

    http://

    http://

    http://

    </TEXTAREA>

    <
    BR>

    <
    BR>

    <
    INPUT TYPE=SUBMIT>

    </
    FORM>

    </
    BODY>

    </
    HTML>  

     

     



    2.Bu dosyayi "textarea.html" olarak kaydedin mesela.(Dosyayi hangi adla kaydettiginiz cok onemli

    degil.Sonucta yukarida ACTION kisminda buraya girdigimiz verilerin hangi php dosyaysi taraindan

    islenecegini belirttik.)



    3.Yeni bir text editor acip icine asagidakileri yazin.



    PHP- Kodu:


    PHP:
    <HTML>
    PHP:

    [left]<HEAD></HEAD>

    <BODY>

    Sizin sevdiginiz web siteleri :

    <?php

    echo $Siteler;

    ?>

    </BODY>

    </HTML>                [/left]






    4.Bu dosyayi "textkontrol.php" olarak kayit edin.



    5.Yukarida "textarea.html" olarak kayit ettiginiz dosyayi bir browser yardimiyla acin.



    6.Bir kac satir veri girin ve "Gonder" tusuna basin.



    7.Sonuc ta yazdiginiz verileri bir sonraki "textkontrol.php" dosyasinda islenmis olarak

    bulacaksiniz.





    Check Box Kullanimi

    Diger kontroller gibi <INPUT> tagi kullanilarak yaratilir.

    Ornek kullanim :

    <INPUT NAME="IsaretKutusu" TYPE="Checkbox">



    Genelde evet/hayir sorularina kullanicinin cevap vermesinde faydali bir HTML kontroldur.

    Bu kontrol CHECKED olarak isimlendirilen bir ozellige sahiptir.Bu ozellik kullanildiginda

    "checkbox" kontrolumuz ontanimli "isaretli" olarak sayfada yuklenir.



    Ornek vermek gerekirse,



    <INPUT NAME="IsaretKutusu" TYPE="CHECKBOX" CHECKED>



    Simdi de "checkbox" yani kontrol kutusu kullanimima bir genel ornek verelim ve bilgilerin HTML

    formundan PHP scriptlerine nasil aktarildigina bakalim.



    1.Text editorunu acip asagidaki kodlari yazin.

    PHP- Kodu:


    PHP:
     <HTML>
    PHP:

    [left]<HEAD></HEAD>

    <
    BODY>

    <
    FORM METHOD=POST ACTION="checkbox.php">

    Daha once hic yilan yedinizmi?

    <
    INPUT NAME="Secim" TYPE="Checkbox">

    <
    BR>

    <
    BR>

    <
    INPUT TYPE=SUBMIT>

    </
    FORM>

    </
    BODY>

    </
    HTML>  

                     



    [/
    left]


    2.Bu dosyayi "checkbox.html" olarak kaydedin.



    3.Yeni bir text editoru acarak asagidaki kodlari yazin.



    PHP- Kodu:


    PHP:
     <HTML>
    PHP:

    [left]<HEAD></HEAD>

    <BODY>

    <?php

    echo $Secim;

    ?>

    </BODY>

    </HTML>                [/left]






    4.Bu dosyayi ise "checkbox.php" olarak kayit edin.



    5."checkbox.html" dosyasini web browser yardimiyla acin.



    Yaptiginiz secime gore bir sonraki sayfada "on" yazili bir sayfa veya hicbirseyin olmadigi bos bir

    sayfa goreceksiniz.



    Eger burada kullandigimiz "checkbox" yani turkcesi "kontol kutusu"nu isaretleyerek sayfayi

    gonderdiginizde ,bizim tayin etmedigimiz bir deger bu kontrole veriliyor.Eger kullanici kontrolu

    isaretlerse alacagi deger "on" oluyor.Isartelemez ise hic bir deger atanmiyor.



    Birden fazla "checkbox" in HTML sayfalarinda kullanimi



    Eger birden fazla "checkbox"`i kullaniyorsaniz ne yapacaksiniz?



    Ornek vererek devam edelim.



    1.Text editorunu acin ve asagidaki kodlari yazin.



    PHP- Kodu:


    PHP:
    <HTML>
    PHP:

    [left]<HEAD></HEAD>

    <
    BODY>

    <
    FORM METHOD=POST ACTION="checkboxes.php">

    Daha once yilan yedinizmi?

    <
    INPUT NAME="Secim1" TYPE="Checkbox" VALUE="yilan">

    <
    BR>

    Daha once balik yedinizmi?

    <
    INPUT NAME="Secim2" TYPE="Checkbox" VALUE="balik">

    <
    BR>

    Daha once ahtapot yedinizmi?

    <
    INPUT NAME="Secim3" TYPE="Checkbox" VALUE="ahtapot">

    <
    BR>

    <
    INPUT TYPE=SUBMIT>

    </
    FORM>

    </
    BODY>

    </
    HTML>  

                     [/
    left]






    2.Bu dosyayi "checkboxes.html" olarak kayit edin.



    3.Yeni bir text editoru acip asagidakileri yazin.



    PHP- Kodu:


    PHP:
    <HTML>
    PHP:

    [left]<HEAD></HEAD>

    <BODY>

    <?php

    echo "$Secim1 <BR>";

    echo 
    "$Secim2 <BR>";

    echo 
    "$Secim3 <BR>";

    ?>

    </BODY>

    </HTML>               [/left]






    4.Bu dosyayi "checkboxes.php" olarak kayit edin.

    5."checkboxes.html" dosyasini browser yardimiyla acin.

    6.Bir kac secenegi secip gonder tusuna basin.



    Sectginiz secimler bir sonraki sayfada goruntulendi degilmi?





    Kisaca soylemek gerekirse biz "checkbox"`in VALUE ozelligini kullanarak secildiginde o degiskene

    aktarilacak verinin ne olmasi gerektigini belirttik.Eger hic bir VALUE degeri kullanmasaydik

    otomatik olarak "on" degeri secilen isaret kutularina aktarilacakti.Secilmeyenler bos kalacakti.



    Checkbox kullanima iliskin bir onemli ayrtinti



    Yukardaki ornekte butun kontrollerimiz icin NAME ozelligini kullarak kontrollere birer isim

    verdik.Biz formu Gonder tusuna basarak PHP sayfasina gonderdigimizde formun icinde yer alan butun

    kontroller isimleriyle anilan birer degiskene donusecektir.Mesela biz



    Daha once yilan yedinizmi?

    <INPUT NAME="Secim1" TYPE="Checkbox" VALUE="yilan">

    <BR>



    yukaridaki HTML kodunda bu "checkbox" kontrolune "Secim1" ismini verdik.Biz formu gonder tusu

    yardimiyla server uzerindeki PHP sayfasina gonderdigimizde PHP otomatik olarak $Secim1 adiyla bu

    degiskeni yaratip formun icinde verdigimiz degere esitleyecektir.Bu nedenle form uzerindeki

    kontrollere NAME ozelligi kullanarak verdigimiz degerler onemlidir.Dikkat ederseniz Secim1,Secim2

    gibi farkli isimler kullandik.Boylece $Secim1, $Secim2 gibi PHP icersinde degiskenlerimiz yaratildi

    ve Form icerisinde verilen VALUE degerine esitlendi.



    Biz eger diziler kullanarak form icerisindeki kontrollere isim vermek isteseydik su sekilde

    yazabilirdik.



    PHP- Kodu:


    PHP:
     Daha once yilan yedinizmi?
    PHP:

    [left]<INPUT NAME="Secim []" TYPE="Checkbox" VALUE="yilan">

    <
    BR>

    Daha once yilan yedinizmi?

    <
    INPUT NAME="Secim []" TYPE="Checkbox" VALUE="yilan">

    <
    BR>

    Daha once yilan yedinizmi?

    <
    INPUT NAME="Secim []" TYPE="Checkbox" VALUE="yilan">

    <
    BR>  

                     



    [/
    left]




    Bu konu aslinda daha sonra gorecegimiz "diziler" ile ilgilidir.Fakat yeri gelmisken kontrollere

    isim vermek icin kullanildigindan bahsetmek istedim.



    Kisaca PHP yukaridaki kontrol isimlerine "0" dan baslayarak koseli parantezlerin icerisine sayi

    koyarak sirayla isim verecektir.



    Yukaridaki kodlar icin bu su sekildedir.



    Ilk kontrolumuz icin,



    $Secim [0] ismini alarak islem gorecektir.Bu olay butun kontrollere uygulanacaktir.

    $Secim [1]

    $Secim [2]



    Radyo Dugmeleri



    Radyo dugmeleri ,checkbox kontrollerinin "bencil" kuzenleridir.Bu kontrolde secilecek olan

    cevaplardan yanlizca bir tanesi isaretlenebilir.Mesela Turkieyenin Baskenti hangisidir? gibi bir

    soruya insanlar yanlizca bir cevap gonderebilirler.Bunun gibi durumlarda "radyo dugmeleri"

    kullanilmaktadir.



    Bir ornek vermek istersek,



    1.Text editorunuzu acip asagidaki kodlari yazin.



    PHP- Kodu:


    PHP:
      <HTML>
    PHP:

    [left]<HEAD></HEAD>

    <
    BODY>

    <
    FORM METHOD=GET ACTION="radyo.php">



    Turkiyenin Baskenti Asagidakilerden Hangisidir?

    <
    BR>

    <
    BR>



    <
    INPUT NAME="Cevap1" TYPE="Radio" VALUE="Istanbul">

    Istanbul

    <BR>



    <
    INPUT NAME="Cevap1" TYPE="Radio" VALUE="Ankara">

    Ankara

    <BR>



    <
    INPUT NAME="Cevap1" TYPE="Radio" VALUE="Izmir">

    Izmir

    <BR>

    <
    BR>



    <
    INPUT TYPE=SUBMIT>

    </
    FORM>

    </
    BODY>

    </
    HTML>  [/left]







    2.Bu dosyayi "radyo.html" olarak kaydedin.



    3.Yeni bir text editoru acarak asagidaki kodlari yazin.



    PHP- Kodu:


    PHP:
    <HTML>
    PHP:

    [left]<HEAD></HEAD>

    <BODY>

    <?php

    echo "Seciminiz : $Cevap1 ";

    ?>



    </BODY>

    </HTML>                



    [/left]




    4.bu dosyayi "radyo.php" olarak kaydedin.



    5."radyo.html" dosyaysini bir browser yardimiyla acin.



    6.Bir secenek isaretleyip gonder tusuna basin.



    7.Seciminiz bir sonraki sayfada goruntulenecektir



    Liste Kutulari



    Liste kutulari veya cek-birak menuleri genelde icinden secim yapacaginiz bir kac ogenin bulundugu

    kontrollerdir.HTML icerisinde bu kontroller <SELECT> VE <OPTION> taglari kullanilarak

    yaratilirlar.Radyo dugmeleri ile ayni islevi gorurler.Hemen hemen ayni yapiya

    sahiptirler.Genellikle kontrol icerisinde bulunan ogelerden yanlizca bir tanesinin secilmesine izin

    verirler.



    Liste kutulari <SELECT> tagi kullanilarak yaratilirlar.<OPTION> tagiyla kontrol icinde

    gosterilecek ogeler yaratilir.



    Bir ornek vermek gerekirse,



    PHP- Kodu:


    PHP:
     <SELECT NAME="Fiyat">
    PHP:

    [left]<OPTION>5.000.000 TL den az</OPTION>

    <
    OPTION>5.000.000 TL den 10.000.000 TL ye kadar</OPTION>

    <
    OPTION>10.000.000 TL den cok</OPTION>

    </
    SELECT>  

                     [/
    left]






    Eger liste kutusunun icindeki ogelerden,kullanicinin coklu secim yapabilmesini

    istiyorsaniz,<SELECT> taginin MULTIPLE ozelligini kullanmalisiniz.Kullanicininlistedeki

    ogelrden bir kacini secmesi icin "Shift" tusunu secimleri yaparken basili tutmasi gerekir.



    Tum bu konuya bir ornek vermek istersek,



    1.Text editorunu acin ve asagidaki kodlari yazin.



    PHP- Kodu:


    PHP:
    <HTML>
    PHP:

    [left]<HEAD></HEAD>

    <
    BODY>

    <
    FORM METHOD=GET ACTION="listbox.php">

    Almayi dusundugunuz arabanin fiyat araligi nedir?

    <
    BR>

    <
    BR>

    <
    SELECT NAME="Fiyat">

    <
    OPTION> $5,000</OPTION>

    <
    OPTION>$5,000-$10,000</OPTION>

    <
    OPTION>$10,000-$25,000</OPTION>

    <
    OPTION> $25,000 dan Fazla</OPTION>

    </
    SELECT>

    <
    BR>

    <
    BR>

    Motor hacminin ne olmasini istersiniz? (Shifte basili tutarsaniz birden cok tercih yapabilirsiniz)

    <
    BR>

    <
    BR>

    <
    SELECT NAME="MotorHacmi[]" MULTIPLE>

    <
    OPTION>1.0L</OPTION>

    <
    OPTION>1.4L</OPTION>

    <
    OPTION>1.6L</OPTION>

    <
    OPTION>2.0L</OPTION>

    </
    SELECT>

    <
    BR>

    <
    BR>

    <
    INPUT TYPE=SUBMIT>

    </
    FORM>

    </
    BODY>

    </
    HTML>  

                     



    [/
    left]




    2.Bu dosyayi "listbox.html" olarak kayit edin.



    3.Bir baska text editor dosyasi acin ve icine asagidaki kodlari yazin.



    PHP- Kodu:


    PHP:
    <HTML>
    PHP:

    [left]<HEAD></HEAD>

    <BODY>

    <?php

    echo "Fiyat Araligi: $Fiyat";

    echo 
    "<BR>Motor Hacmi: $MotorHacmi[0]";

    echo 
    "$MotorHacmi[1]";

    echo 
    "$MotorHacmi[2]";

    echo 
    "$MotorHacmi[3]";

    ?>

    </BODY>

    </HTML>                [/left]






    4.Bu dosyayi "listbox.php" olarak kayit edin.



    5."listbox.html" dosyasini acip bir kac secim yapin ve gonder tusuna basin.





    Yukarida PHP'nin dizileri nasil kullandigina da guzel bir ornek vermis olduk.Diziler hayatimizi

    biraz daha kolay hale getirmektedir.Gordugunuz gibi kontrol ismini degistirmeden bazi isleri

    PHP'nin yapmasini sagladik.Gorunuste zor gibi gorunsede aslinda uygulama yaptiginizda

    kullanimlarinin ne kadar basit oldugunu goreceksiniz.Tek yapmamaiz gereken biraz calismak oyle

    degilmi.)



    Gizli Form Kontrolleri(Hidden Controls)



    Bu kontroller bir web sayfasindan diger bir web sayfasina veri aktarirken,kullanicinin herhangi bir

    sey yapmasina gerek kalmadan isimizin kolaylasmasi icin bize saglanmis kontrollerdir.Kullanici

    "Gonder" tusuna bastiginda bu veriler otomatik olarak server sistemine gonderilir.

    "Gizli Kontroller" <INPUT> tagi kullanilarak yaratilirlar.Kullanimina basit bir ornek vermek

    istersek,



    <INPUT TYPE=HIDDEN NAME="Gizli1" VALUE="Gizli Mesaj">



    Burada gordugunuz gibi HIDDEN yazarak,girdigimiz verinin hicbirsekilde form uzerinde

    goruntulenmemesini istedigimizi belirttik.Diger kontrollerde oldugu gibi PHP kontrole verdigimiz

    isimle ayni bir degiskeni otomatik olarak olusturacaktir.



    Kontrolun kullanimina iliskin bir ornek vermek gerekirse,



    1.Text editorunuzu acip asagidaki kodlari yazin.



    PHP- Kodu:


    PHP:
     <HTML>
    PHP:

    [left]<HEAD></HEAD>

    <BODY>

    <?php



    $Mesaj1
    ="Turk Milleti Zekidir";

    $Mesaj2="Izindeyiz Atam";

    $Mesaj3="Turk Gencligi Sorumlulugunu Bilmektedir";



    echo 
    "<FORM METHOD=GET ACTION='Gizli2.php'>";



    echo 
    "Hangi cumle daha cok hosunuza gitti?";



    echo 
    "<SELECT NAME='ListeKutusu'>";



    echo 
    "<OPTION>$Mesaj1</OPTION>";

    echo 
    "<OPTION>$Mesaj2</OPTION>";

    echo 
    "<OPTION>$Mesaj3</OPTION>";



    echo 
    "</SELECT><BR><BR>";



    echo 
    "<INPUT TYPE=HIDDEN NAME=Gizli1 VALUE='$Mesaj1'>";

    echo 
    "<INPUT TYPE=HIDDEN NAME=Gizli2 VALUE='$Mesaj2'>";

    echo 
    "<INPUT TYPE=HIDDEN NAME=Gizli3 VALUE='$Mesaj3'>";



    echo 
    "<INPUT TYPE=SUBMIT>";

    echo 
    "</FORM>";

    ?>

    </BODY>

    </HTML>                



    [/left]




    2.Bu dosyayi "gizli.php" olarak kayit edin.



    3.Bir baska text editoru dosyasi acarak asagidaki kodlari yazin.



    PHP- Kodu:


    PHP:
    <HTML>
    PHP:

    [left]<HEAD></HEAD>

    <BODY>

    <?php



    echo "Listelenen uc cumle soyleydi : <BR>";

    echo 
    "$Gizli1<BR>";

    echo 
    "$Gizli2<BR>";

    echo 
    "$Gizli3<BR>";



    echo 
    "<BR>Sizin seciminiz : <BR>";

    echo 
    "$ListeKutusu";



    ?>

    </BODY>

    </HTML>               [/left]






    4.Bu dosyayi "gizli2.php" adiyla kayit edin.



    5."gizli.php" dosyaysini acip bir secim yapin ve gonder tusuna basin.



    Yukaridaki kodlarla ilgili detayli aciklama :



    Ilk uc satir kod ile $Mesaj1,$Mesaj2,$Mesaj3 degiskenlerimize birer deger atadik.



    echo kullanarak HTML taglarimizi degisken kullanarak yazdik.Aslinda echo kullanmadan da HTML

    taglarini dogrudan yazabilirdik ama ince nokta surada echo kullanimi ile PHP degiskenlerinin HTML

    icerisine yerlestirilmesini sagladik.



    echo "<OPTION>$Mesaj1</OPTION>";

    echo "<OPTION>$Mesaj2</OPTION>";

    echo "<OPTION>$Mesaj3</OPTION>";



    kodlari ile icinden secim yapilabilen liste kutumuzu yarattik.Gordugunuz gibi secenekleri dogrudan

    <OPTION> </OPTION> taglari arasina yazmak yerine PHP degiskenlerini kullandik.Nasil

    olsa onlarada biz deger verdik.Yani kisaca $Mesaj degiskenleri bizim kontrolumuzda.Bu sekilde

    programcilik tekniginizi gelistirmek onemli.



    Son olarak ise zaten daha once liste kutusu icinde kullandigimiz bu $Mesaj degiskenlerini "Gizli

    Kontrolunu" kullanarak Gizli1,Gizli2,Gizli3 kontrollerine yerlesitrdik.

    Gonder tusuna basilinca bu kontroller icinde kullanici gormeden bu 3 cumlede Gizli1,Gizli2,Gizli3

    kontrolleri yardimiyla bir sonraki sayfaya rahatlikla tasindi.Son olarak bu Gizli kontroller

    icindeki veriler ekrana,bizim secimimiz ile beraber yazdirildi.



    Password, sifrelerin text alaninda yildiz seklinde gosterilmesi



    Aslinda bir "text" kontrolu olan "password" kontrolu ile text alanina yazilan yazilarin yildiz

    seklinde gosterimini sagliyoruz.Bu sekilde kullanicinin yazdigi karekterler baskalari tarafindan

    okunamiyor.Bu sekilde yanlizca lokal bir guvenlik saglanir.Kullanicinin yanindaki insanlarin

    sifreyi gormemelri icin saglanmis bir kontroldur.Halen internet uzerindeki yolculugunda bu veriler

    baskalari tarafindan okunabilir.Bunu engellemek icin SSL(Secure Socket Layer) kullanarak herseyi

    encrypt etmeniz gereklidir.



    Kontrolun kullanimina bir ornek vermek istersek,



    Sifreniz nedir?

    <INPUT NAME="Sifre" TYPE="Password">



    Kontroller konusunu burada bitirdik simdi genel olarak bu kontrolleri kullanarak kucuk bir uygulama

    yazip PHP nin bu kontroller yardimyla kullanicidan aldigimiz verileri dinamik olarak nasil

    isledigine bakalim.



    ORNEK UYGULAMA



    PHP- Kodu:

    PHP:
                           <HTML>

    <
    HEAD></HEAD>

    <
    BODY>

     

    Seres Bankasi Kredi Isleme Basvuru Formu

     

    <FORM METHOD=POST ACTION="kredi.php">

     

    Adiniz :

     

    <
    INPUT NAME="Ad" TYPE="Text">

     

    Soyadiniz :

     

    <
    INPUT NAME="Soyad" TYPE="Text">

     

    Yasiniz :

     

    <
    INPUT NAME="Yas" TYPE="Text" SIZE="2">

     

    <
    BR>

    <
    BR>

     

    Adresiniz :

     

    <
    TEXTAREA NAME="Adres" ROWS=5 COLS=50>

    </
    TEXTAREA>

     

    <
    BR>

    <
    BR>

     

    Geliriniz Nedir?

    <
    SELECT NAME="Ucret">

    <
    OPTION VALUE=0>10000 TL'DEN AZ</OPTION>

    <OPTION VALUE=10000>10000 TL'
    DEN 25000 TL'YE KADAR</OPTION>

    <OPTION VALUE=25000>25000 TL'
    DEN 50000 TL'YE KADAR</OPTION>

    <OPTION VALUE=50000>50000 TL'
    DEN BUYUK</OPTION>

    </
    SELECT>

     

    <
    BR>

    <
    BR>

     

    Ne kadar kredi almak istiyorsunuz?<BR><BR>

     

    <
    INPUT NAME="Kredi" TYPE="Radio" VALUE=1000>1000 TL'lik Paket %8.0 Faiz<BR>

     

    <INPUT NAME="Kredi" TYPE="Radio" VALUE=5000>5000 TL'
    lik Paket %12.0 Faiz<BR>

     

    <
    INPUT NAME="Kredi" TYPE="Radio" VALUE=10000>10000 TLlik Paket %15.0 Faiz<BR>

     

    <
    BR>

    <
    INPUT TYPE=SUBMIT VALUE="Buraya tiklayarak Formu gonderebilirsiniz">

    <
    INPUT TYPE=RESET VALUE="Formu Temizle">

     

    </
    FORM>

    </
    BODY>

    </
    HTML>  

     

     

    2.Bu dosyayi "kredi.html" olarak kayit edin.



    3.Yeni bir text dosyasi acin ve asagidaki kodlari yazin.



    PHP- Kodu:

    PHP:
                           <HTML>

    <HEAD></HEAD>

    <BODY>

    Seres Bankasi Kredi Isleme Sonuclari

    <BR>

    <BR>

     

    <?php

     

    $UcretFaktoru 
    $Ucret/5;

    $YasFaktoru = ($Yas/10 - ($Yas%10) /10 )-1;

     

    $KrediFaktoru $UcretFaktoru $YasFaktoru;

     

    echo 
    "Istediginiz Kredi Miktari : $Kredi <BR>";

    echo 
    "Alabilceginiz Kredi Miktari : $KrediFaktoru <BR><BR>";

     

    if (
    $Kredi <= $KrediFaktoru) echo "Sayin , $Ad $Soyad kredi isteginizi memnuniyetle KABUL

    ediyoruz"
    ;

     

    if (
    $Kredi $KrediFaktoru ) echo "Sayin,$Ad $Soyad uzgunuz,kredi isteginiz RED edilmistir.";

    ?>

    </BODY>

    </HTML>                

     



    4.Bu dosyayi "kredi.php" olarak kayit edin.



    5."kredi.html" dosyasini acip icine bir kac veri girin ve "Buraya tiklayarak Formu

    Gonderebilirsiniz" tusuna tiklayin.



    6.Bakalim kredi isteginiz kabul edilcekmi )





    Not : Yukarida yas faktoru hesaplanirken kullanicinin girdigi yas kategorilere ayriliyor ve eger

    0-19 arasinda bir yas girerse goruldugu uzere formulasyonda $YasFaktoumuz 0 oluyor.20-29 arasi

    girilen yaslar icin 1 ,30-39 arasi yaslar icin 2 ve benzeri.Kullanicimiz 19 yasindan kucuk ise bu

    sekilde donen 0 degeri ile,Kullaniciya hic bir sekilde kredi verilmemesi saglanmistir.$YasFaktoru

    formulasyonunda "%" operatoru "modul" hesaplamalarinda kullanilir.Modul hesaplamasi hakkinda

    bilginiz yoksa biraz bahsedeyim.



    Ornek verecek olursak 16 nin 3 lu olarak modulu 1 dir.



    III+III+III+III+III+I

    ^ (Modul demek kalan demektir)

    Yukaridaki tabloda 16 sayisini ucer ucer ayirdim ve kalan sonuca baktim kalan sonuc 1 degilmi.Iste

    modulumuz dememkki 1 mis.



    Mesela 8 Mod 4 u hesaplayalim.



    IIII+IIII Gordugunuz gibi kalan 0.Yani 8 icinde iki tane 4 lu grup var ve sonucta hic bir sey

    geriye kalmiyor.Modulumuz 0'mis.



    25%3 = 4

    9%3 = 0

    12%5 = 2



    Gibi ornekler verilebilir.



    Tekrar konumuza donecek olursak,$Yas degiskeni icerisinde verilen degiskeni 10 ar 10 ar gruplamak

    istiyoruz.Bu sekilde $Yas faktorunu kredi verip vermeme konusunda bir kistas olarak

    kullanacagiz.Bunu yapmak icin "modul" kullaniyoruz.Verilen yasin 10'a gore modulunu aliyoruz.Mesela

    yasimizi 20 olarak forma girdigimizi varsayalim ve bilgisyarin yaptigi hesaplamalara bir bakalim.



    $YasFaktoru = ($Yas/10 - ($Yas%10) /10 )-1;

    ^^^^^

    Once formda kullanicin girdigi yasi 10'a bolunuyor.Sonuc 20/10 = 2



    $YasFaktoru = ($Yas/10 - ($Yas%10) /10 )-1;

    ^^^^^^^

    Sonra parantezin icindeki islem yapilarak verilen yasin 10'lu modulune bakiliyor.Sonuc 20%10 = 0

    (20 yi 10 ar 10ar ayirdigimizda geriye hic kalan olmaz)



    $YasFaktoru = ($Yas/10 - ($Yas%10) /10 )-1;

    ^Cikan sonuc 10'a bolunuyor.Sonuc 0/10 = 0



    $YasFaktoru = ($Yas/10 - ($Yas%10) /10 )-1;

    ( 2 - 0 )-1

    Grdugunuz gibi yas faktorumuz "1" oluyor.Yas grubu arttikca alttaki fonksiyonda UcretFaktoru ile

    carpildigi icin Kullanicicnin daha fazla kredi alabilmesi saglaniyor.Yasi kucukler icin az kredi

    yasi buyukler icin cok kredi bu sekilde saglanniyor.





    Döküman: Serkan

    Alıntıdır !
     

Bu Sayfayı Paylaş