4. POČÍTAČOVÉ CVIČENÍ Cílem dnešního cvičení je vytvořit formuláře obsahující zaškrtávací pole a přepínací tlačítka.
Vstupní pole pro zadání hesla
Ve vstupním poli „Věk“ se místo uživatelem zapsaných znaků objeví hvězdičky.
Formulář s dvěma tlačítky pro odeslání
obsluha.php if ($_GET["souhlas"]=="ano"): ?> Gratulujeme. elseif ($_GET["souhlas"]=="ne"): ?> Děláte chybu, když náš program nechcete. else: ?> Snažíte se přelstít náš registrační systém. Moc se nesnažte a radši si program běžně zaregistrujte. endif ?>
Skript by měl vždy ošetřit všechny možné stavy. První dvě větve našeho skriptu testují případy, které nastanou po odeslání formuláře. Pokud však někdo vyvolá náš skript ručně (přímým zadáním URL), nemusí proměnná $Souhlas obsahovat ani jednu z očekávaných hodnot. Tento případ jsme ošetřili v poslední větvi podmínky.
Přepínací tlačítka Přepínací tlačítka se do formuláře vkládají opět pomocí elementu input s použitím atributu type=radio. Použijeme je v případě, kdy chceme uživateli nabídnout možnost výběru jedné z
několika variant. Zaškrtávací tlačítka odpovídající jednotlivým variantám musí mít nastaven atribut name na stejnou hodnotu. Naopak atribut value musí mít každá varianta jedinečný. Požadovaná velikost pevného disku:
1,2 MB 1,6 MB 2,1 MB 4,2 MB 6,4 MB
Přepínací tlačítka jsme umístili mezi tagy
a
, aby byla odsazena vpravo. Za každou položkou formuláře je použit tag , který způsobuje přechod na novou řádku. Obslužnému skriptu dorazí hodnota value vybraného přepínacího tlačítka. V našem případě tedy budeme mít hodnotu 1200, 1600, 2100, 4200 nebo 6400 v proměnné $hd.
Zaškrtávací pole
V PHP se pro práci se zaškrtávacími políčky, kde jednomu jménu odpovídá více hodnot, používají pole. Místo jména vstupního prvku musíme psát name="konfig[]", tj. přidáme na konec hranaté závorky. Pro takto pojmenovaný prvek formuláře pak PHP samo vytvoří pole. Počet prvků pole zjistíme pomocí funkce Count(pole). Jednotlivé prvky pole jsou přístupné pomocí indexu, který musíme zapsat do hranatých závorek. Pole jsou indexována od nuly.
Zaškrtávací pole jsou na formuláři normálně zobrazena nezaškrtnutá. Pokud chceme, aby bylo tlačítko rovnou zaškrtnuté, použijeme u něj atribut checked. Malá ukázka části formuláře: s mlékem s cukrem
Seznamy K vytvoření seznamu se používá element select. Použijeme ho v případě, kdy chceme uživateli nabídnout možnost výběru jedné z několika položek. Pokud použijeme atribut multiple, může uživatel vybrat i více položek než jednu. Jméno vstupního prvku se opět určuje pomocí atributu name. Atribut size určuje počet řádek, na kterých se seznam zobrazí. Položky, které se do tohoto prostoru nevejdou, budou přístupné rolováním v seznamu. Jednotlivé položky seznamu se zapisují pomocí elementu option. Jako hodnota položky se skriptu předá text uvedený mezi tagy . Text je však mnohdy dlouhý a nevhodný pro další zpracování skriptem. Pokud u option použijeme atribut value, bude se přenášet jeho obsah místo obsahu celého elementu. Pokud má být nějaká položka vybrána již hned po zobrazení, označíme ji pomocí atributu selected.
Ve jménu prvního seznamu jsme použili hranaté závorky (cisla[]), aby PHP pro údaje z tohoto prvku formuláře vytvořilo pole. Je to nutné, protože uživatel může vybrat více čísel časopisu najednou (díky atributu multiple). U vstupního pole pro e-mailovou adresu jsme neuvedli typ pole. Přesto se jedná o textové vstupní pole, protože standardní hodnota atributu type je text.
Informace z formuláře zpracuje script obsluha.php, která vypíše hodnoty vyplněné do formuláře:
vybrané časopisy: $a=$_GET["cisla"]; for ($i=0; $i"; endfor; ?>
požadovaný formát: echo $_GET["fmt"] ?>
zaslat na: echo $_GET["email"] ?>
Víceřádkový text Pro vstup delších textů je určen element textarea. Jeho jméno se určuje opět pomocí atributu name. Kromě toho musíme pomocí atributů rows a cols určit počet řádek a sloupců vstupního pole. Při použití musíme vždy používat počáteční i ukončovací tag. Text mezi nimi se zobrazí na začátku editace ve vstupním poli.
Vaše úkoly jsou následující: Vytvořte formulář na výpočet BMI BMI - (Body Mass Index = index tělesné zdatnosti) je považován za kritérium vyjadřující "přiměřenou" tělesnou hmotnost související se zdravím.
Do tohoto vzorečku se dosazuje hmotnost v kilogramech a výška v metrech.
BMI méne než 18,5 18,5 - 24,9 25 - 29,9 30 - 34,9 35 - 39,9 40 a více
Kategorie podváha normální váha nadváha obezita velká obezita klinická obezita
Zdravotní rizika vysoká minimální středně vysoká 1. stupně vysoká 2. stupně vysoká velmi vysoká