Merhaba arkadaslar. Php dersleri serimizin ikincincisinde php’de karar mekanismasi olan if else komutlarinin nasil kullanildigina göz atacagiz.
Php sintaks bakimindan java’ya benziyor; noktali virgüller, parantezler… Eger java ile biraz hasir nesir iseniz bu konuyu 20 dakikada hâlledersiniz.
Lafi fazla uzatmadan hemen bir örnekle konumuzu anlatmaya baslayalim isterseniz. Iki kisinin yaslarini kiyaslayan bir kod yazalim:
<?php
$ahmet = 20;
$sabri = 30;
if ($ahmet<$sabri)
{
echo "Ahmet Sabri'den küçüktür";
}
else
{
echo "Ahmet Sabri'den büyüktür";
}
?>
Sonuç : Ahmet Sabri’den küçüktür
elseif
Peki bu ikisi yasitsa, yani $ahmet = 20 ve $sabri = 20 ise ne olacak? O zaman bu durumu da gözden geçirmemiz lazim. Bunun için if komutundan sonra bir de elseif kullanacagiz:
<?php
$ahmet = 20;
$sabri = 20;
if ($ahmet<$sabri)
{
echo "Ahmet Sabri'den küçüktür";
}
elseif($ahmet==$sabri)
{
echo "Ahmet ve Sabri yasittir";
}
else
{
echo "Ahmet Sabri'den büyüktür";
}
?>
Sonuç : Ahmet ve Sabri yasittir.
elseif($ahmet==$sabri) satirina dikkat ederseniz bir yerine iki esttir (==) isareti koyduk. Çünkü eger bir esittir kullansaydik karsilastirma yapmis olmaz, esittirden önceki ilk degiskene ($ahmet) deger atamis olurduk. Bu da hâtâ verecektir tabi ki.
Bunu su sekilde test edelim:
<?php
$ahmet = 20;
$sabri = 30;
$ahmet = $sabri;
if ($ahmet<$sabri)
{
echo "Ahmet Sabri'den küçüktür";
}
elseif($ahmet==$sabri)
{
echo "Ahmet ve Sabri yasittir";
}
else
{
echo "Ahmet Sabri'den büyüktür";
}
?>
Sonuç : Ahmet ve Sabri yasittir, olacaktir.
Bir de farkli midir? diye soralim. Bunun için != veya <> operatörünü kullanacagiz:
<?php
$ahmet = 20;
$sabri = 30;
if ($ahmet!=$sabri)
{
echo "Ahmet ile Sabri yasit degildir";
}
?>
Sonuç: Ahmet ile Sabri yasit degildir.
Son olarak bir de söyle iki örnek verelim, ki bu iki kod da ayni isi yapar, == operatörü ile:
<?php
$sifre = "yazilimmutfagi.com" ;
if ($sifre == "yazilimmutfagi.com")
{
echo "Sifre dogru";
}
else
{
echo "Yanlis sifre";
}
?>
!= veya <>operatörü ile:
<?php
$sifre = "yazilimmutfagi.com" ;
if ($sifre <> "yazilimmutfagi.com")
{
echo "Sifre yanlis";
}
else
{
echo "Sifre dogru";
}
?>
&& , || (ve veya) mantiksal operatörler:
Karsilastirma yaparken çokça ihtiyacimiz olan operatörlerdendir ‘ve'(&&) ve ‘veya'(||).
&& operatörünün mantigi kisaca sudur:
Sayet sorulan her iki sart da dogruysa sonuç ‘evet’tir. Herhangi biri yanlissa sonuç ‘hayir’dir.
<?php
$sifre1="yazilimmutfagi";
$sifre2=2011;
if($sifre1=="yazilimmutfagi" && $sifre2==2011)
{
echo "sifreler dogru, giris yapildi";
}
else
{
echo "sifreler dogru degil, giris yapilamadi";
}
?>
Sonuç: sifreler dogru, giris yapildi.
|| operatörünün mantigi, eger sorulan sartlardan herhangi bir dogru ise sonuç ‘evet’tir. Her ikisi de yanlissa sonuç ‘hayir’dir.
<?php
$sifre1="yazilimmutfagi";
$sifre2=2011;
if($sifre1=="yazilimmutfagi" || $sifre2==2045)
{
echo "giris yapildi";
}
else
{
echo "iki sifre de yanlis, giris yapilamadi";
}
?>
Sonuç: giris yapildi.
<li id=”ustmenu” class=”page_item <?php if(!is_home()){ echo ‘li’; }else{echo ‘ current_page_item ‘;} ?>”><a href=”<?php bloginfo(‘url’);?>” title=”Biyomani.com’a Git !”> Ana Sayfa</a></li>
echo ‘ li ‘;} ?>”><a href=”<?php bloginfo(‘url’);?>/ proje-hakkinda” title=”Proje Hakkynda”>Proje Hakkynda</a></li>
echo ‘ li ‘;} ?>”><a href=”<?php bloginfo(‘url’);?>/ bilim-senligi-projeleri” title=”Bilim Senligi Projeleri”>Bilim Senligi Projeleri</a></li>
echo ‘ li ‘;} ?>”><a href=”<?php bloginfo(‘url’);?>/ tubitak-projeleri” title=”Tübitak Projeleri”>Tübitak Projeleri</a></li>
echo ‘ li ‘;} ?>”><a href=”<?php bloginfo(‘url’);?>/ iletisim” title=”Bilim ?enli?i”>Yletisim</a></li>
<li id=”ustmenu” class=”page_item <?php if(is_page(’46’)){ echo ‘current_page_item’;}else{
<li id=”ustmenu” class=”page_item <?php if(is_page(’48’)){ echo ‘current_page_item’;}else{
<li id=”ustmenu” class=”page_item <?php if(is_page(’50’)){ echo ‘current_page_item’;}else{
<li id=”ustmenu” class=”page_item <?php if(is_page(’51’)){ echo ‘current_page_item’;}else{
Benim Üst Menum Yçin ( WordPressDe ) Böyle Bir Kodum Var.
Bu Pagelerde Y?e Yaryyor. Proje.mkoseoglu.com
Menunun Secili Olup Olmamasy. Ben Birde bunun is_single olanyny yazmak istiyorum nasyl yaparym ?
merhaba
Murat, uyuari metinini yazmayi unutmussun. Nasil bir hata mesaji aliyorsun? Ayrica, programi direkt htdocs klasörüne yazinca çalisiyor mu?
http://localhost/xampp/htdocs/nd.php linkte ki gibi htdocs klasörüne nd.php diye bir dosya açip içine derslerden alinti yaptigim bir örnek kodu yazdigimda asagidaki uyariyi aliyorum nedeni ne olabilr:S
Burdaki Anlatimda Gayet Açik ve Anlasilir Olmus Ellerinize Saglik.