Téma: Výpočet formulárom
Úloha: Vytvorte webovú stránku s názvom vypocet.php, ktorá bude obsahovať skript, pomocou ktorého vytvoríte súčet, rozdiel, súčin a podiel dvoch zadaných čísel ako v predchádzajúcom cvičení. Rozdiel oproti cvičeniu č.10 bude v tom, že čísla zadáme pomocou formulára a výstupom bude zobrazenie zadaných dvoch čísel a výsledku jednotlivých matematických operácií.
Podmienky: Vytvorený dokument umiestnite na svoj blog v položke PHP ako „Zadanie č.11 Výpočet formulárom“ s plným znením úlohy a odkazom na súbor vypocet.php
Teória :
Jedna z najdôležitejších vlastností PHP je možnosť spracúvať dáta získané z HTML formulárov (tag FORM). Vaše skripty teraz konečne získajú plný význam – budete môcť reagovať na to, čo zadá užívateľ (volá sa to tiež „vstup“).
Najskôr si vysvetlíme, ako formuláre fungujú. Dajme tomu, že máme súbor zadaj.html s jednoduchým formulárom. V ňom sú dva textové políčka s jedným odosielacím tlačidlom:
<form action="spocitaj.php" method="get"> Prvé číslo: <input name="prve"><br> Druhé číslo: <input name="druhe"><br> <input type="submit" value="Spočítaj"></form>
Súbor spocitaj.php bude mať za úlohu spočítať dva čísla, zadané v textových políčkach s názvami prve a druhe. Zatiaľ však doňho napíšeme iba:
<?php ?>
Otvorte stránku zadaj.php v prehliadači a skúste zadať napríklad čísla 5 a 8. Stlačte odosielacie tlačidlo. Zobrazí sa prázdna stránka, čo je v poriadku. Všimnite si však adresu stránky, ktorá sa vám práve načítala:
http://sosthe.info.tm/~meno/spocitaj.php?prve=5&druhe=8
Za názvom súboru nasleduje otáznik a páry názov=hodnota, oddelené znakom &. Podobným spôsobom môžete používať adresy aj sami (bez pomoci formulárov), napr.:
<a href="zobraz.php?id=vlaky">Vlaky</a>
Ešte musíme poznamenať, že ak dáme tlačidlu meno a hodnotu, tieto údaje sa tiež odošlú.
Teraz si ukážeme, ako tieto údaje získať v jazyku PHP. Keďže ako metódu formulára (atribút METHOD) sme zvolili GET, k údajom budeme pristupovať pomocou poľa $_GET. To obsahuje prvky s indexmi nazvanými podľa atribútov NAME jednotlivých políčok. Napríklad tento kód vypíše hodnotu políčka prve:
<?php echo $_GET['prve'];?>
Keďže chceme hodnoty políčok spočítať, upravíme kód takto:
<?php echo $_GET['prve'] + $_GET['druhe'];?>
Metóda GET, ktorú sme použili, je vhodná pre akcie, ktoré nemenia stav servera, iba zobrazujú informácie. Ak by sme ju použili napr. na uloženie hlasu do ankety, pri každej návšteve našich stránok indexovacím robotom (napr. Googlebotom) by sa zaznamenal nový hlas. Aj preto existuje metóda POST. Medzi nevýhody GET-u patrí tiež obmedzená dĺžka parametrov.
Metódu POST použijeme jednoducho – zmeníme atribút METHOD formulára. Dáta tu nie sú ukladané do adresy. Pristupujeme k nim pomocou poľa $_POST.
Postup pri práci : Upravte vzorový skript tak, aby spĺňal podmienky úlohy
