Často je v programech potřeba, aby se některé příkazy vykonaly jen při splnění dané podmínky, nebo aby se jedny příkazy vykonaly při splnění podmínky, zatímco při nesplnění podmínky se vykonaly jiné - říká se tomu podmíněné příkazy a využívají se příkazy pro větvení programů. Ve většině programovacích jazyků k tomuto účelu existuje příkaz IF.
Základní syntaxe příkazu IF je v PHP jednoduchá:
if (podmínka) příkaz;
neboli - je-li splněna podmínka, potom vykonej příkaz. Další možnost vypadá takto:
if (podmínka) příkaz1; else příkaz2;
což znamená - je-li splněna podmínka, vykonej příkaz1, jinak (není-li splněna podmínka) vykonej příkaz2.
Jednoduchá kontrola zadaného hesla na přihlašovacím formuláři při vstupu na vaši "důvěrnou" stránku by mohla vypadat takto:
<?php
if ($heslo=="1234") echo "Jste přihlášen"; else echo"Chybné heslo!"; ?>
Překládám jen pro jistotu - je-li zadáno 1234, potom se vypíše první hláška, jinak se vypíše druhá hláška (samozřejmě ve skutečné situaci by jen vypsání podobných hlášek nestačilo).
Všimněte si, že pro porovnání bylo použito znaménko == , tedy dvě rovnítka a nikoli jedno rovnítko, to se používá pro vložení (přiřazení) hodnoty do proměnné (viz minulá lekce)! Pro porovnávání hodnot v podmínkách můžete používat tyto operátory (znaménka):
== - rovná se
!= nebo <> - nerovná se
> (resp. <) - větší (resp. menší)
>= (resp. <=) - větší nebo rovno (resp. menší nebo rovno)
Pomocí příkazu if můžeme jednoduchou kalkulačku z minulé lekce doplnit o další početní operace.
Pro vylepšení kalkulačky je nejprve potřeba doplnit vstupní formulář o možnost výběru početní operace, v ukázce je použitý input type radio:
<form name="kalkulator" action="vypocet2.php" method="post">
Vyberte operaci:
<input type="radio" name="operace" value="součet"> sčítání
<input type="radio" name="operace" value="rozdíl"> odčítání
<input type="radio" name="operace" value="součin"> násobení
<input type="radio" name="operace" value="podíl"> dělení
<br /><br />
Zadejte čísla pro výpočet:
<input type="text" name="oper1" value="" />
<input type="text" name="oper2" value="" />
<br /><br />
<input type="submit" value="vypočti" />
</form>
V minulé lekci jsme uložili tuto stránku jako php, i když jsme ji mohli uložit jako html, protože v ní žádný kód php není. Vlastní výpočet bude provádět vypocet2.php - viz parametr action. Jádro této strány by mohlo vypadat takto:
<?php
$operace=$_POST["operace"]; //načtení názvu operace
$oper1=$_POST["oper1"]; //první číslo (operand)
$oper2=$_POST["oper2"]; //druhé číslo (operand)
?>
<h1>Kalkulačka</h1>
První číslo: <?php echo ($oper1); ?><br />
Druhé číslo: <?php echo ($oper2); ?><br />
==========================<br />
Výpočet:
<?php
if ($operace=="součet") echo "$oper1 + $oper2 = ", $oper1+$oper2;
if ($operace=="rozdíl") echo "$oper1 - $oper2 = ", $oper1-$oper2;
?>
<br />
<p><a href=kalkulacka2.php>Zpět k zadání</a>
</p>
V programu se nejprve načtou z pole $_POST název početní operace a obě zadaná čísla. Potom se vypíše nadpis Kalkulačka (html), pod ním hodnoty obou čísel, další kousek textu v html a potom php vypíše podle názvu operace příslušný řádek výpočtu.
Vytvořte kalkulačku podle textu lekce. Možná jste si všimli, že chybí výpočet součinu a podílu, doplňte je.
Vytvořte aplikaci pro převod buď km/h na m/s nebo obráceně podle výběru.
Vytvořte aplikaci pro převod stupňů Celsia na stupně Kelvína a Fahrenheita či obráceně dle výběru (pozn.: °C = °K-273,15 , °F = 9/5*°C+32)
Vytvořte on-line MATEMATICKÉ TABULKY s možností výpočtu obvodu a obsahu základních geometrických útvarů. (Můžete se podívat na ukázku tabulek D. Vásquezové, 9.C, 2007/8)
Název školy: | Základní škola, Hradec Králové, M. Horákové 258 |
Název projektu: | EU peníze školám |
Číslo projektu: | CZ.1.07/1.4.00/21.2575 |
Téma: | Programování v PHP |
Název: | VY_32_INOVACE_04_10A_PHP4 |
Autor: | Pavel Petr |