Lekcje >> Podstawy PHP
Polimax

Drukarnia w Warszawie realizująca druk wizytówek, plakatów jak również fotoksiążki, fotoobrazy i fotokalendarze - z wysyłką na terenie całego kraju.

Przykłady zastosowania instrukcji if...else

Kilka przykładów zastosowania instrukcji if...else

Ćwiczenie 1_11_2_1

Napisz skrypt, który liczbę wysłaną formularzem oceni jednym z napisów:

  • Liczba z przedziału 0..100
  • Liczba z przedziału 101..200
  • Liczba z przedziału 201..300
  • Liczba z przedziału 301..400
  • Liczba z przedziału 401..500
  • Liczba większa od 500

Zakładamy, że użytkownik poda liczbę całkowitą, nieujemną. Przykład skryptu wykonującego to zadanie:

<?php
  $a=$_POST['pole_1'];
  if ($a>500) echo 'Liczba większa od 500'; 
  else if ($a>400) echo 'Liczba z przedziału 401..500';
  else if ($a>300) echo 'Liczba z przedziału 301..400';
  else if ($a>200) echo 'Liczba z przedziału 201..300';
  else if ($a>100) echo 'Liczba z przedziału 101..200';
  else echo 'Liczba z przedziału 0..100';
?>

Przetestuj działanie skryptu.

Ćwiczenie 1_11_2_2

Napisz skrypt, który wyznaczy największą spośród 3 liczb wysłanych formularzem. Dla uproszczenia zakładamy, że użytkownik wpisze liczbę. Przykładowy skrypt:

<?php
  $a=$_POST['liczba_1'];
  $b=$_POST['liczba_2'];
  $c=$_POST['liczba_3'];
  $max=$a;
  if ($b>$max) $max=$b;
  if ($c>$max) $max=$c;
  echo 'Największa z liczb '.$a.', '.$b.', '.$c.' to liczba '.$max;
?>

Ćwiczenie 1_11_2_3

Napisz skrypt, obliczający pierwiastki trójmianu kwadratowego ax2 + bx + c = 0. Należy sprawdzić, czy użytkownik podał poprawnie współczynniki a, b, c. Formularz oraz skrypt PHP mają się znajdować w jednym pliku. Oto przykładowe rozwiązanie zadania:

<!doctype html>
<html>
 <head>
  <title>Obliczanie pierwiastków trójmianu kwadratowego</title>
  <meta charset="UTF-8" />
 </head>
 <body>
  <?php
   function wsp_value($a,$b,$c)//wartości atrybutu value pól tekstowych formularza 
   {
    if ($a)
    {
     if (!isset($_POST['wsp_a'])) return ''; else return $_POST['wsp_a'];
    }
    else if ($b)
    {
     if (!isset($_POST['wsp_b'])) return ''; else return $_POST['wsp_b'];
    }
    else 
    {
     if (!isset($_POST['wsp_c'])) return ''; else return $_POST['wsp_c'];
    }
   }
  ?>

  <form action="" method="post">
   a <input type="text" name="wsp_a" <?php echo 'value="'.wsp_value(true,false,false).'"';?> />
   b <input type="text" name="wsp_b" <?php echo 'value="'.wsp_value(false,true,false).'"';?> />
   c <input type="text" name="wsp_c" <?php echo 'value="'.wsp_value(false,false,true).'"';?> />
   <input type="submit" name="przycisk"  value="Oblicz pierwiastki trójmianu kwadratowego" />
  </form>
  <br />
  Trójmian kwadratowy  ax<sup>2</sup> + bx + c = 0
  <?php
   if (isset($_POST['przycisk']))//jeżeli wcisnęliśmy przycisk
   {
    //jeżeli użytkownik wpisał liczby
    if (is_numeric($_POST['wsp_a']) && is_numeric($_POST['wsp_b']) && is_numeric($_POST['wsp_c']))
    {
     $a=$_POST['wsp_a'];//odbieramy pola formularza
     $b=$_POST['wsp_b'];
     $c=$_POST['wsp_c'];
     $delta=$b*$b-4*$a*$c;//to już czysta matematyka
     if ($delta>0)
     {
      $x1=(-$b-sqrt($delta))/2*$a;//sqrt() pierwiastek kwadratowy
      $x2=(-$b+sqrt($delta))/2*$a;
      echo ' posiada dwa pierwiastki x1 = '.$x1.', x2 = '.$x2;
     }
     else if ($delta==0)
     {
      $x=-$b/2*$a;
      echo ' posiada jeden pierwiastek x = '.$x;
     }
     else echo ' nie posiada pierwiastków';
    }
    else echo ' ma błędne współczynniki!';
   }
  ?>
 </body>
</html>

Jeżeli zapomniałeś jak przygotować i gdzie zapisywać pliki testowe: