Öncelikle hemen hemen her programlama dilinde var olan bir yapı olduğunu bilmemiz gerekir, yazılımların olmazsa olmaz yapıtaşlarından biride if else mantığıdır. if belirtilen koşulun gerçekleştiği durumlarda yapılacak işlemleri, else if in devamında, ifle belirtilen koşulun gerçekleşmediği durumlarda yapılacak işlemleri belirler. Basitçe örnek verelim.
Elimizde 5 ve 7 sayısı olsun
if (5 < 7) { işlem doğruysa yapılacaklar}else{ işlem yanlış ise yapılacaklar.}
İşlemden kastımız if in hemen önünde bulunan (5 < 7) kısmıdır. yani 5 küçük 7, 5 sayısı 7 sayısından küçük ise, doğrudur. büyükse yanlıştır. Şöyle basit bir örnekle devam edelim.
Örneğin get parametresi ile kullanıcıdan yaşını aldığımızı varsayalım, ve kullanıcının yaşının 18 den büyük olup olmadığını tespit edelim.
ornek1.php
<?php
$yas = $_GET["yas"];
if($yas < 18)
{
echo "yaşınız 18 den küçük olduğu için siteye giremezsiniz.";
}else
{
echo "yaşınız 18 ve üzeri olduğu için burayı görebilmektesiniz.";
}
?>
sayfamızı ornek1.php?yas=19 şeklinde çalıştırabilirsiniz. çıktı olarak "yaşınız 18 ve üzeri olduğu için burayı görebilmektesiniz." metnini görebilirsiniz. yas isminde olan bir get parametresini yine yas isminde bir değişkene atadık, ardından if($yas < 18) şeklinde koşul belirtilmiştir.
Şimdi kullanıcıdan girilen bir rakam değeri, ya 18 den küçüktür yada değildir. Peki ya 18 e eşit olursa ? bu durumdada 18 yazıldığında 18 18 den küçükte değildir büyükte değildir, Burada yas 18 den küçük olmadığı tüm durumlar için yani else if in gerçekleşmediği tüm durumlarda ibaresi ile 18 else statüsünde kalmıştır. Birden çok if else bloğu kullanabiliriz. yani if () elseif() else 1.koşul, gerçekleşmez ise, 2. koşu, oda gerçekleşmez ise yapılacak işlemler şeklindedir. Yukarıda ki örneğimizi, tam 18 yaşını tespit edebilme adına kullanalım.
ornek2.php
<?php
$yas = $_GET["yas"];
if($yas < 18)
{
echo "yaşınız 18 den küçük olduğu için siteye giremezsiniz.";
}elseif($yas == 18)
{
echo "tam 18 yaşındasınız, bu sayfayı görebilirsiniz.";
}else
{
echo "yaşınız 18 ve üzeri olduğu için burayı görebilmektesiniz.";
}
?>
yukarıdaki örnek dosyamızı, ornek2.php?yas=18 şeklinde çalıştırdığınızda, öncelik olarak 1. if bloğu çalışacaktır. if($yas < 18) 18 değeri 18 den küçük olmadığı için koşul çalışmaya devam edecek ve 2. koşula gelecektir. elseif($yas == 18) 18 == 18 işlem doğru olduğu için bu if bloğu çalışacaktır. elseif bloğunu daha fazla da artırabilirsiniz.
Bir if bloğu içersinde birden fazla koşul belirtebilir, kesin koşul yada esnek koşullar belirleyebilirsiniz. && karakteri kesin koşul belirtmenize yani if bloğu içersinde belirttiğiniz 2 koşulunda doğru olması durumunu ifade eder, || (l harfi değildir.) ise veya anlamında kullanılır, yani sağında ve solunda belirtilen 2 koşuldan herhangi birinin doğru olması koşulun gerçekleşmesine yeterlidir.
ornek3.php
<?php
$yas = $_GET["yas"];
if( ($yas < 18) || ($yas == 18) )
{
echo "yaşınız 18 yada 18 den küçüktür";
}else
{
echo "yaşınız 18 den büyüktür.";
}
?>
ornek3.php?yas=18 şeklinde dosyayı çalıştırabilirsiniz, girilen 18 değeri, 18 den küçük değildir, ancak 18 e eşittir, koşullardan 1 tanesi gerçekleşmiştir, bu yüzden koşul doğru kabul edilir.
ornek4.php
<?php
$yas = $_GET["yas"];
if( ($yas < 18) && ($yas == 18) )
{
echo "yaşınız 18 yada 18 den küçüktür";
}else
{
echo "yaşınız 18 den büyüktür.";
}
?>
ornek4.php?yas=18 bir üstteği örneğimizi 18 girilen sayısı ile çalıştırdığımızda, 1. koşul 18 girileni, 18 den küçük değildir, anca 2. koşulda 18 e eşittir, yani 2 koşuldan 1 tanesi doğrduru, && ibaresi iki koşulunda doğru olduğu durumlarda doğruluk sağlar, bu nedenle else bloğu çalışacaktır.