İnternet Programlama - 2 PHP ve HTML
PHP ‘de Program Denetimi Programlarla veri alış verişinde bulunurken kimi zaman istediğimiz türde bir verinin elde edilmesi bazen zorlaşır veya ayırt edilmesi gerekebilir. Böyle durumlarda programın kimi satırlarına bu veriyi ayırt edecek koşullu kodlar yazmamız gerekir. Yazacağımız koşullu anlatımlara şartlı işlemler deriz. Şartlı işlemlerin bazılarının doğru olmasını bazılarınınsa yanlış olmasını isteyebiliriz.
PHP ‘de Program Denetimi Bu seçim daha çok elde ettiğimiz veriyi nereye niçin kullanacağımıza bağlıdır. Örneğin bir sitedeki formu doldurmadan göndermeye çalışan ziyaretçinin bu formu boş olarak göndermesini engellemek gibi bir örnek verilebilir. Ya da yanlış e-mail adresi yazması gibi.
PHP ‘de Program Denetimi
PHP ‘de Program Denetimi Bazen de bu tür şartları bir çok veri arasından elde edeceğimiz için bunları sınamamız gerekecektir. Çoğu zaman bu tür durumlarla sıklıkla karşılaşıldığından bu gibi veri yığınları içinde hangi verinin bizim istediğimiz koşul veya koşullara uyduğunu bulmak içinde döngüler kullanılır. Çevirim de diyebileceğimiz bu tür sınamalar çok işe yararlar. Örneğin bir dosyadaki bir kelimenin kaç kez kullanılmış olduğunu ya da bir sitenin kaç kez ziyaret edilmiş olduğu gibi.
PHP ‘de Program Denetimi Döngülerde basitçe; verdiğimiz koşul sınanır ve eğer doğru ya da yanlış ise, süslü parantezler içindeki kodlar işlenir. Bu koşulların yerine gelmesiyle de döngü program içindeki akışını sonlandırarak kendisinden sonraki adıma geçer.
Program Denetimi ve Döngüler - If - Deyimi Denetim ve döngüleri sağlayan deyimler şunlardır: if, else, elseif, while, do while, for, foreach, break, continue ve switch.
Program Denetimi ve Döngüler - If - Deyimi Bir PHP programı çeşitli koşullu satırlardan ve döngülerden oluşabilir. Bu program satırlarında bizim yapmamız gereken kimi işleri neye göre yapacağımızı da belirler. Biz olmasını istediğimiz bir işi yaptırmak isteyebileceğimiz gibi olmasını istemediğimiz işleri de engelleyebiliriz. Bu tür kısıtlamaları genelde karşılaştırmalar için kullanılan koşullu anlatımlarla sağlarız.
Program Denetimi ve Döngüler - If - Deyimi Yani şunu yap şunu yapma, eğer bu büyükse izin ver değilse yapma, dosyayı aç şu satırları değiştir değilse değiştirme gibi işeri koşullu anlatımlarla sağlarız. if PHP dilinde ise anlamına gelir. Program satırlarında en çok kullanılan kontrol deyimlerinden birisidir. Örneğin; 5 eşittir 5 ise gibi açıklayabiliriz. Eğer 5 eşittir 5 ise sonuç TRUE (doğru) değilse FALSE (yanlış) değeri ile geri döner.
Program Denetimi ve Döngüler - If - Deyimi Böyle bir koşulu iki değişkenle açıklarsak $x nın değeri $y nin değerine eşitse sonuç doğru olacaktır değilse sonuç yanlış olacaktır. if(koşul) { (yapılacak işler); // doğruysa buradaki işler yapılır. }
Program Denetimi ve Döngüler - If - Deyimi <form action="if.php" method="post"> <br>Bir sayı yazın:<br> <input type=text name="sayi1"> <input type=text name="sayi2"><br> <input type="submit"> </form> <?php if($_POST['sayi1'] > $_POST['sayi2']) { print "{$_POST['sayi1']} değeri {$_POST['sayi2']} değerinden büyüktür\n"; } ?>
Program Denetimi ve Döngüler - If - Deyimi
Program Denetimi ve Döngüler - If - Deyimi if deyimi parantez içinde vermiş olduğumuz koşula bakacaktır. Burada öne sürdüğümüz koşul şudur; $_POST['sayi1'] değişkenin tuttuğu değer $_POST['sayi2'] değişkeninden büyükse süslü parantezlerin içindeki işi yap demiş oluyoruz.
Program Denetimi ve Döngüler - If - Deyimi $_POST['sayi1'] değişkenin değeri $_POST['sayi2'] değişkeninin değerinden büyük olduğu için koşulumuz doğru olacağından program ekrana “39 değeri 26 değerinden büyüktür” yazacaktır. istersek birden fazla if deyimini art, arda kullanabiliriz.
Program Denetimi ve Döngüler, Else ve Elseif Denetimi ve Döngüler, Else ve Elseif Else Denetim mekanizmasında if bloğundaki koşullarımız yerine gelmiyorsa else ile bu koşulun yerine gelmemsi durumu ile ilgili işlemleri yapabiliriz. Zaten else deyimi bu gibi durumlarda kullanılmaktadır. Temel amacı gerçekleşmeyen bir koşulun sonucunu döndürmeye yarar.
Program Denetimi ve Döngüler, Else ve Elseif Koşulumuzu if ile sınarız eğer koşulumuz doğru değilse FALSE ile geri dönecek olan satırı else ile istersek programın akışını durdurabilir veya başka bir iş yaptırmak için kullanabiliriz. Şimdi $x değişkeni ile $y değişkenine ait değerleri sınayalım;
Program Denetimi ve Döngüler, Else ve Elseif "x değeri y değerinden büyükse" ekrana x değeri y değerinden büyüktür yazdıralım, değilse yani else ile buna cevap verelim ve ekrana "x değeri y değerinden büyük değildir" yazdıralım. Burada tekrar belirtelim, değilse koşulunu else yapar ve bu anlama gelir.
Program Denetimi ve Döngüler, Else ve Elseif <?php $x=23; $y=13; if($x>$y) { print " x değeri y değerinden büyüktür "; }else { print" x değeri y değerinden büyük değildir"; } ?>
Program Denetimi ve Döngüler, Else ve Elseif Bu program satırında gerçekleştirmek istediğimiz koşullar ister gerçekleşsin ister gerçekleşmesin sonuçta programın akışı devam eder. Bu akışı kesmek isteyeceğimiz zamanlar olacaktır. Yani gerçekleşmeyen koşul sonucunda programı durdurmak isteyebiliriz. İsteyebiliriz diyorum çünkü buna sonuçta biz karar verebiliriz.
Program Denetimi ve Döngüler, Else ve Elseif Böyle bir durumda else deyiminin gerçekleştiği süslü parantezlerin içine bu işi yapacak fonksiyonu yazmamız gerekir. Bu işi yapacak olan fonksiyonlardan birisi exit dir. Yani çıkış yap, bu noktada işlemleri kes, hiçbir şey yapma anlamına gelir. else{ print" x değeri y değerinden büyük değildir"; exit; }
Program Denetimi ve Döngüler, Else ve Elseif Aşağıdaki örneklerin hepsi bir formdan gelen alanların kontrolünü aynı şekilde yapar. Farklı mantıksal operatörlerin kullanımı ile ilgili bir fikir verebilir. && (VE) operatörü ile if else yapısının kontrolü if (!($_POST['isim'] && $_POST[,sifre'] && $_POST['sifre2'])) { die('Formda boş alan bıraktınız lütfen doldurun'); }else{ echo "Bütün alanlar doldurulmuş"; exit; }
Program Denetimi ve Döngüler, Else ve Elseif And (VE) operatörü ile if else yapısının kontrolü if (!($_POST['isim'] and $_POST['sifre'] and $_POST['sifre2'])) { die('Formda boş alan bıraktınız,lütfen doldurun'); }else{ echo "Bütün alanlar doldurulmuş"; exit; }
Program Denetimi ve Döngüler, Else ve Elseif || (VEYA) operatörü ile if else yapısının kontrolü if (!$_POST'isim'] || !$_POST['sifre'] || !$_POST['sifre2'])) { die('Formda boş alan bıraktınız,lütfen doldurun'); }else{ echo "Bütün alanlar doldurulmuş"; exit; }
Program Denetimi ve Döngüler, Else ve Elseif Or (VEYA) operatörü ile if else yapısının kontrolü if (!$ POST['isim'] or !$_POST['sifre'] or !$_POST['sifre2'])) { die('Formda boş alan bıraktınız, lütfen doldurun'); }else{ echo "Bütün alanlar doldurulmuş"; exit; }
Program Denetimi ve Döngüler, Else ve Elseif Or (VEYA) operatörü ile if else yapısının kontrolü if (!$ POST['isim'] or !$_POST['sifre'] or !$_POST['sifre2'])) { die('Formda boş alan bıraktınız, lütfen doldurun'); }else{ echo "Bütün alanlar doldurulmuş"; exit; }
Elseif elseif de tıpkı if gibi çalışır. İlk önce if ile sorgulama yaparız koşul olumsuz ise devreye ikinci, üçüncü, dördüncü gibi sıralamaya sahip bir denetim mekanizması sokabiliriz. Bunun için elseif deyimini kullanıyoruz. Dilediğimiz kadar elseif bloğu ile karar verme süreçlerini daha seçici yapmak mümkündür. Aşağıdaki akış şemasında if, elseif ve else bloklarının çalışma mantığı verilmiştir.
Elseif
Elseif <?php if(!isset($_POST['sayi1']) && !isset($_POST['sayi2'])){ ?> <form action="if4.php" method="post"> <br>Bir sayı yazın:<br> <input type=text name="sayi1" /> <input type=text name="sayi2" /><br /> <input type="submit" /></form> /*form boş gönderildiyse programı burada durdur.*/ exit(); }
Elseif if($_POST['sayi1'] > $_POST['sayi2']) { echo $_POST['sayi1']." değeri ". $_POST['sayi2']." değerinden büyüktür."; }elseif($_POST['sayi1'] == $_POST['sayi2']){ echo $_POST['sayi1']." değeri ". $_POST['sayi2']." değerine eşittir."; }else{ echo $_POST['sayi1']." değeri ". $_POST['sayi2']." değerinden küçüktür."; } ?>
Elseif
if, elsif, else Deyimlerinin Kullanılması if deyimi bir koşulu sınamamızı sağlar. Bu koşulun doğrulanmasıyla süslü parantezlerin içindeki kodlar işleme tabi tutulur. Bu PHP için 1 yani TRUE değeridir. Eğer doğrulama gerçekleşmezse 0 yani FALSE değeri alacaktır. Bu durumda programın akışını engelleyecek herhangi bir kod yoksa program çalışmaya devam eder. if( koşul ) { Koşul doğru İse buradaki kodlar istenileni yapacak. }
if, elsif, else Deyimlerinin Kullanılması if ve elsif deyiminin uygulanması. Bu uygulamada birden fazla koşulun sınanması gerçekleştirilir. Birden fazla koşulu sınamaya yarayan elsif deyiminin uygulanması. if( koşul 1 ) { koşull için istenilen kodlar buraya yazılacak. }elseif (koşul2) { koşul2 için istenilen kodlar buraya yazılacak. }elseif (koşul3) { koşul3 için istenilen kodlar buraya yazılacak. }elseif (koşul4) { koşul4 için istenilen kodlar buraya yazılacak. }else{ …. }
if, Elseif ve Mantık Operatörleri Koşulların yerine getirilip getirilmediğini mantık operatörleri ya da diğer operatörlerle birlikte kullanabiliriz. Bu bize daha esnek bir sorgulama imkanı verecektir. if, Elseif ve Mantık Operatörleri
if, Elseif ve Mantık Operatörleri <?php $x=18; $y=15; $a=3; $b=6; if(($x > $y) || ($y > $x)) { print("x değeri y den büyüktür veya y nin değeri x ten büyüktür. "); if(($a < $b) &&($b <$y)) { print("a nın değeri b den küçüktür ve yine b nin değeri y den küçüktür. "); } print("Programın sonu"); ?> if, Elseif ve Mantık Operatörleri
if, Elseif ve Mantık Operatörleri Bu örnekte if ile mantık operatörleri bir arada kullanılmıştır. Birinci if koşulunda || (veya) mantık operatörünün her iki yanındaki bir değerin doğru olması koşulun doğru olmasını sağlayacaktır. Yani eğer $x in değeri $y nin değerinden büyük değilse veya operatörünün diğer tarafında bulunan $y nin değeri ile $x in değeri karşılaştırılır burada bu değerler doğruysa süslü parantezlerin arasındaki kodlar istediğimizi yapacak değilse ikinci adım olan diğer if deyimine geçilecektir.
if, Elseif ve Mantık Operatörleri Burada bu kez iki tarafta bulunan değerlerinde doğru olması gerekir yoksa sadece program kodlarının sonundaki print fonksiyonun parantezleri içinde yer alan Programın sonu cümlesi ekrana yazılır. Eğer her iki taraftaki sorgulama koşullara uyuyorsa o zaman süslü parantezlerin içindeki kodlar istediğimizi yapacaktır.
if, Elseif ve Mantık Operatörleri <?php $a=3; $b=6; if( ($a > $b) || ($b < $a) ) { print("a değeri b den büyüktür veya b nin değeri a dan küçüktür. "); }else{ print "Her iki koşulda doğru değil\n"; } ?>
if, Elseif ve Mantık Operatörleri <?php $a=3; $b=6; if( ($a > $b) || ($b < $a) ) { print("a değeri b den büyüktür veya b nin değeri a dan küçüktür. "); }else{ print "Her iki koşulda doğru değil\n"; } ?>
if, Elseif ve Mantık Operatörleri Bu program ekrana Her iki koşulda doğru değil cümlesini yazacaktır. Çünkü || operatörünün sağındaki ya da solundaki koşullardan birisinin doğru olması gerekir, veya her ikisi de doğru olabilir.
if, Elseif ve Mantık Operatörleri <?php $a=3; $b=6; if( ($a < $b) && ($b < $a) ) { print("a nın değeri b den kesinlikle küçükür ve b nin değeri a dan kesinlikle küçüktür. "); }else{ print "Koşulların ikisi de mutlaka doğru olmalıydı, her iki koşulda doğru değil \n"; exit; } ?>
if, Elseif ve Mantık Operatörleri Bu program ekrana Koşulların ikisi de mutlaka doğru olmalıydı, her iki koşulda doğru değil cümlesini yazacaktır. Çünkü && (ve) operatörünün sağındaki ya da solundaki koşulların ikisi de doğru olmak zorunda. Programın bu noktada durmasını istiyorsak cümleden sonraki satıra exit fonksiyonunu yazmamız gerekir.
if, Elseif ve Mantık Operatörleri <?php $a=3; $b=6; if( ($a < $b) && ($b > $a) ) { print("a nın değeri b den kesinlikle küçükür ve b nin değeri a dan kesinlikle büyüktür. "); }else{ print "Koşulların ikisi de mutlaka doğru olmalıydı, her iki koşulda doğru değil \n"; } ?>
if, Elseif ve Mantık Operatörleri <?php $a=3; $b=6; if( ($a < $b) && ($b > $a) ) { print("a nın değeri b den kesinlikle küçüktür ve b nin değeri a dan kesinlikle büyüktür. "); }else{ print "Koşulların ikisi de mutlaka doğru olmalıydı, her iki koşulda doğru değil \n"; } ?>
if, Elseif ve Mantık Operatörleri a nın değeri b den kesinlikle küçüktür ve b nin değeri a dan kesinlikle büyüktür. Cümlesini yazacaktır. Bu örnekte öne sürdüğümüz her iki koşulda doğrudur.
if, Elseif ve Mantık Operatörleri <?php $a=3; $b=6; if((($a<$b)&&($b>$a))||(($a>$b) && ($b<$a))){ print("Koşullar veya operatörü için doğrudur.. "); } else{ print "Koşullardan birisi doğru olmalıydı. \n"; } ?>
Switch PHP dilinde Switch anahtar demektir. Bu deyim kendisine atanan değeri case ile kontrol eder. Eğer atanan değer case ile tanımlanmışsa istenilen koşul gerçekleştirilmiş olur ve break ile diğer koşullara geçilmesi kesilerek işlem sonuçlandırılır.
Switch <?php $sayi=2; switch ($sayi){ case 0: echo "Sayı 0'dır."; break; case 1: echo "Sayı 1'dir."; break; case 2: echo "Sayı 2'dir."; break; default: echo "Sayı 0,1 ve 2 değildir."; } ?>
Switch <?php $notu=64; switch ($notu){ case 85<=$notu: echo "5-Pekiyi"; break; case 70<=$notu: echo "4-İyi"; break; case 55<=$notu: echo "3-Orta"; break; case 45<=$notu: echo "2-Geçer"; break; case 25<=$notu: echo "1-Zayıf"; break; default: echo "Başarısız"; } ?>