Php Notları 7: If Kontrol Deyimi

Bilgisayar bir programı çalıştırırken olay sırasına göre yukarıdan aşağıya doğru hareket eder. Bu sırayı değiştirmek ve bir şarta göre bazı komutlar verebilmek için kontrol deyimleri kullanılır.

Eğer anlamına gelen If komutu verilen bir şarta göre bazı komutların çalıştırılmasını sağlar. Genel yazım şekli şu şekildedir:

if (şart)
{
  komut 1;
  komut 2;
}

Burada şart doğru ise süslü parantez içinde yer alan komutlar çalıştırılır. Eğer şart yanlış ise program süslü parantez kapatma işaretinin altındaki satıra atlayarak çalışmaya başlar. If komutu iç içe de istenilen sayıda kullanılabilir.  Şart gerçekleştiğinde sadece bir komut çalıştırılacaksa, süslü parantezlere gerek yoktur.

Örnek: Bir web sayfasına girilen adın “ali” mi olduğunu bulan kodu yazınız.

<html>
<head>
  <title>Php'de Kontrol Yapıları</title>
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-9" />
</head>
<body>
<?php
  if (empty($_POST['ad']))
  {
?>
<h1 align="center">BİLGİ GİRİŞİ</h1>
<form name="form1" method="post" action="">
  Bir ad giriniz:<input type="text" name="ad" id="ad" size="30" maxlength="30"><br>
  <input type="reset" value="Sıfırla" /><input type="submit" value="Gönder" />
</form>
<?php
  }
  else
  {
    $ad=$_POST["ad"];
    if ($ad=="ali")
    {
      echo "Adınız ali.";
    }
  }
?>
</body>
</html>

Bu sayfanın yirmi birinci satırında girilen adın “ali” olup olmadığı kontrol ediliyor. Eğer girilen adı “ali” ise sayfadaki tarayıcıya “Adınız ali.” yazdırılıyor. Burada dikkat edilmesi gereken nokta, forma ALİ, Ali, aLi vb. yazılırsa, programın “Adınız ali” mesajını vermeyeceğidir. Program sade küçük harflerle yazılan “ali” ifadesini tanıyacaktır. Diğer durumlar için ileride anlatılacak ek kontrolleri yapmak gerekir.


Bazı durumlarda şartın doğru olduğunda bazı komutların, şart yanlış olduğunda daha başka komutların işletilmesi gerekebilir. Bu durumda aşağıdaki genel kullanıma sahip If .. Else yapısı kullanılır.

if (şart)
{
  komut 1;
  komut 2;
}
else
{
  komut 3;
  komut 4;
}

Burada if satırındaki şart sağlanıyorsa komut 1 ve komut 2, sağlanmıyorsa komut 3 ve komut 4 çalıştırılır. Komut 1 ve komut 2 ile komut 3 ve komut 4’ün bu kullanıma göre aynı anda çalışması mümkün değildir.

Örnek: Bir web sayfasına girilen adı “ali” ise ekrana “Adınız ali”, girilen ad “ali” değilse “Adınız ali değil” mesajını yazdıran sayfayı kodlayınız.

html>
<head>
  <title>Php'de Kontrol Yapıları</title>
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-9" />
</head>
<body>
<?php
  if (empty($_POST['ad']))
  {
?>
<h1 align="center">BİLGİ GİRİŞİ</h1>
<form name="form1" method="post" action="">
  Bir ad giriniz:<input type="text" name="ad" id="ad" size="30" maxlength="30"><br>
  <input type="reset" value="Sıfırla" /><input type="submit" value="Gönder" />
</form>
<?php
  }
  else
  {
    $ad=$_POST["ad"];
    if ($ad=="ali")
    {
      echo "Adınız ali.";
    }
    else
    {
      echo "Adınız ali değil.";
    }
  }
?>
</body>
</html>

21. satırda forma girilen ismin “ali” olup olmadığının kontrolü yapılmıştır. Girilen isim “ali” ise 23. satır çalıştırılır ve ekrana “adınız ali” mesajı yazdırılır. Eğer girilen isim “ali” değilse 27. satır çalıştırılır ve ekrana “Adınız ali değil” mesajı yazdırılır. Sayfa daha sonra 29.  itibaren çalışmaya devam eder.

Bazı durumlarda birden fazla şartın kontrol edilmesi gerekir. Bu durumda aşağıdaki yapı kullanılır:

if (şart 1)
{
  komut 1;
  komut 2;
}
else if  (şart 2)
{
  komut 3;
  komut 4;
}
else
{
  komut 5;
}

Burada önce if’in bulunduğu satırdaki şart 1 kontrol edilir. Eğer şart 1sağlanıyorsa, komut 1 ve komut 2 çalıştırılır. Daha sonra program if bloğunun dışındaki satırdan çalışmaya devam eder. Eğer if’in bulunduğu satırdaki şart 1 sağlanmıyorsa, else if’in bulunduğu satırdaki şart 2’ye bakılır. Şart 2 sağlanıyorsa komut 3 ve komut 4 sırayla çalıştırılır. Program if bloğunun dışındaki satırdan çalışmaya devam eder. Eğer şart 2 de sağlanmıyorsa else komutundan sonra yer alan komut 5 çalıştırılır. Program if bloğunun dışındaki satırdan çalışmaya devam eder.

Örnek: Bir web sayfasına girilen adın ali veya ayşe olup olmadığını belirten programı yazınız.

<html>
<head>
  <title>Php'de Kontrol Yapıları</title>
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-9" />
</head>
<body>
<?php
  if (empty($_POST['ad']))
  {
?>
<h1 align="center">BİLGİ GİRİŞİ</h1>
<form name="form1" method="post" action="">
  Bir ad giriniz:<input type="text" name="ad" id="ad" size="30" maxlength="30"><br>
  <input type="reset" value="Sıfırla" /><input type="submit" value="Gönder" />
</form>
<?php
  }
  else
  {
    $ad=$_POST["ad"];
    if ($ad=="ali")
    {
      echo "Adınız ali.";
    }
    else if($ad=="ayşe")
    {
      echo "Adınız ayşe.";
    }
    else
    {
      echo "Adınız ali veya ayşe değil.";    
    }
  }
?>
</body>
</html>

Bu programda, önce 21. satırda girilen ismin “ali” olup olmadığı kontrol ediliyor. Girilen isim ali ise 23 satırda ekrana “Adınız ali” mesajı yazdırılıyor. Eğeri girilen isim “ali” değilse program 25. satırdaki kontrolü yapıyor. Bu satıda yapılan kontrole göre girilen isim “ayşe” ise 27. satırdaki “Adınız ayşe” mesajı ekrana yazdırılıyor. 25. satırdaki şart sağlanmıyorsa else deyiminden sonraki 31. satır çalıştırılıyor ve ekrana “Adınız ali veya ayşe değil” mesajı yazdırılıyor.

Örnek: Yüzlük sisteme göre girilen bir notu beşlik sisteme çeviren web sayfasını kodlayınız.   

<html>
<head>
  <title>Php'de Kontrol Yapıları</title>
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-9" />
</head>
<body>
<?php
  if (empty($_POST['not1']))
  {
?>
<h1 align="center">BİLGİ GİRİŞİ</h1>
<form name="form1" method="post" action="">
  Bir not giriniz:<input type="text" name="not1" id="not1" size="30" maxlength="30"><br>
  <input type="reset" value="Sıfırla" /><input type="submit" value="Gönder" />
</form>
<?php
  }
  else
  {
    $not1=$_POST["not1"];
    if ($not1<25)
      echo "Sıfır";
    else if ($not1<45)
      echo "Bir";
    else if ($not1<55)
      echo "İki";
    else if ($not1<70)
      echo "Üç";
    else if ($not1<85)
      echo "Dört";
    else if ($not1<=100)
      echo "Beş";
    else
      echo "Böyle bir not almış olamazsınız.";    
  }
?>
</body>
</html>

24.01.2017 10:37:30

Yorumlar

Bu yazıya henüz yorum yapılmamış.

Yazı hakkında yorum yapmak için, buraya tıklayın.

Kategoriler :

Arşiv :

Etiketler :

Bağlantılar :