Anasayfa > Programlama > PHP > PHP ile HTML isaretleyicilerinin (Tag) birlikte Kullanimi

PHP ile HTML isaretleyicilerinin (Tag) birlikte Kullanimi




PHP ile HTML isaretleyicilerinin (Tag) birlikte Kullanimi
Konu: PHP Yazar: Serkan Tarih: 01/03/02
Giris:

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,Style,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.

<FORM ACTION="Veri_isleyecek_sayfa.php">
...
</FORM>

Method

Formdaki bilgilerin servera hagi yolla gonderilecegini belirtmek icin kullanilir.Alabilecegi iki
deger vardir.GET ve POST.Kullanimi asagidaki gibidir.

<FORM ACTION="Veri_isleyecek_sayfa.php METHOD=GET>
....
</FORM>

veya,

<FORM ACTION="Veri_isleyecek_sayfa.php METHOD=POST>
....
</FORM>

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

http://www.turk-php.com/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:

http://www.turk-php.com/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.

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

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

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

<HTML>
<HEAD></HEAD>
<BODY>
En Sevdiginiz sarkicinin ismi :
<?php
echo $Sarkici;
?>
</BODY>
</HTML>

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.

Ornek Dosyalar

http://www.turk-php.com/ornekler/sarkici.html

http://www.turk-php.com/ornekler/sarkici.php

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.

<HTML>
<HEAD></HEAD>
<BODY>
<FORM METHOD=POST ACTION="textkontrol.php">

En begendiginiz web siteleri hangileridir?

<TEXTAREA NAME="Siteler" COLS="50" ROWS="5">
http://www.turk-php.com
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.

<HTML>
<HEAD></HEAD>
<BODY>
Sizin sevdiginiz web siteleri :
<?php
echo $Siteler;
?>
</BODY>
</HTML>

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.

Ornek Dosyalar

http://www.turk-php.com/ornekler/textarea.html

http://www.turk-php.com/ornekler/textkontrol.php

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

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

3.Yeni bir text editoru acarak asagidaki kodlari yazin.

<HTML>
<HEAD></HEAD>
<BODY>
<?php
echo $Secim;
?>
</BODY>
</HTML>

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.

Ornek Dosyalar

http://www.turk-php.com/ornekler/checkbox.html

http://www.turk-php.com/ornekler/checkbox.php

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.

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

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

3.Yeni bir text editoru acip asagidakileri yazin.

<HTML>
<HEAD></HEAD>
<BODY>
<?php
echo "$Secim1 <BR>";
echo "$Secim2 <BR>";
echo "$Secim3 <BR>";
?>
</BODY>
</HTML>

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?
Ornek Dosyalar

http://www.turk-php.com/ornekler/checkboxes.html

http://www.turk-php.com/ornekler/checkboxes.php

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.

Daha once yilan yedinizmi?
<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>

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.

<HTML>
<HEAD></HEAD>
<BODY>
<FORM METHOD=GET ACTION="radyo.php">

Turkiye'nin 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>

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

3.Yeni bir text editoru acarak asagidaki kodlari yazin.

<HTML>
<HEAD></HEAD>
<BODY>
<?php
echo "Seciminiz : $Cevap1 ";
?>

</BODY>
</HTML>

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,

<SELECT NAME="Fiyat">
<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>

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.

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

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

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

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

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

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

Ornek Dosyalar

http://www.turk-php.com/ornekler/listbox.html

http://www.turk-php.com/ornekler/listbox.php

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.

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

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

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

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

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

<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 TL'lik 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.

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

Ornek Dosyalar

http://www.turk-php.com/ornekler/kredi.html

http://www.turk-php.com/ornekler/kredi.php

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.

Her turlu sorunuz icin mail atmaktan cekinmeyiniz.
serkan@turk-php.com

Program: http://www.turk-php.com/ornekler/kredi.html

Bu makale hakkında ek bilgi eklemek için buraya tıklayınız

Bu makalenin yazar yada kaynağını bildirmek için tıklayınız.

Digg this Post! Add Post to del.icio.us Bookmark Post in Technorati Furl this Post!
Eklenme tarihi: 3-2-2006  Okunma: 4331

Bu Makaleye Verilen Puan:    Bu makaleye puan verilmemiş.
Bu Makaleye Puan Ver  

Bölüm Başlık Kullanıcı Yorumları


Bu makaleye yorum gönderilmemiş, ilk yorumu sen gönder !
Reklam Netinternet
Bazı hakları saklıdır: İçeriğin editör ve yazarlarımız tarafından oluşturulan kısımları ve site tasarımının hakkı saklıdır.  Bu sayfa en iyi 1280x1024 ve 1024x768 çözünürlükte izlenir.
Powered by BilgiPortal v2.2
Emlak Yorumlar Müzik estetik