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: