
Jak jsem již uvedl v článku
[PHP prakticky (39)] o posílání proměnných, data z HTML formuláře se ukládají do stejně pojmenovaných proměnných ve skriptu PHP. Ten potřebuje ke své práci atributy "NAME" z pole formuláře. Jak to celé funguje, popišu v tomto článku. Přiložena je rovněž ukázka k vyzkoušení.
Posílání (předávání) proměnných mezi HTML formulářem a PHP skriptem, je základem funkce všech formulářů, které pracují prostřednictvím tohoto skriptovacího jazyka. O způsobu, jak k tomu dochází, jste si mohli přečíst ve zmíněném díle "PHP 39". Tentokrát vám předvedu předávání proměnných prostřednictvím konkrétního jednoduchého příkladu. Půjde o dva soubory formulář HTML formular43.html a skript PHP zpracovani43.php.
Příklad: "formular43.html
<form action="../php/43/zpracovani43.php" method="post" name="formular">
<table cellspacing="2" cellpadding="2" border="0">
<tr>
<td><b>Jméno:</b> <input maxlength="20" name="Jmeno" size="25"></td>
</tr>
<tr>
<td><b>Příjmení:</b> <input maxlength="20" name="prijmeni" size="25"></td>
</tr>
<tr>
<td><b>Máte Windows 98?</b> <input type=checkbox value="Windows 98" name=windows98></td>
</tr>
<td><b>Máte Windows XP?</b> <input type=checkbox value="Windows XP" name=windowsXP></td>
</tr>
<td><b>Máte MAC?</b> <input type=checkbox value="Macintosh" name=MAC></td>
</tr>
</table>
</body>
</html>

Ve formuláři jsou použíta pro výběr zatržítka
Do shora uvedeného HTML formuláře bude tedy uživatel zapisovat svá data a provede malý úkon, a to výběr z možností, který operační systém na PC používá. Tuto volbu/výběr provede element inputs atributem type=checkbox. Tak vytvoříme speciální zatržítko, jimž provádíme volby, tedy dojde k odeslání hodnoty zatržítka na adresu uvedenou v atributu action. A kromě toho musí formulář obsahovat proměnnou value, která vyjadřuje hodnotu předávanou skriptu PHP. To je to, o čem dnes v tomto článku především jde! Podívejme se tedy, jak bude jednoduchý PHP skript, který zpracuje HTML formulář, vypadat.
Příklad: "zpracuj43.php
<?php
if ($jmeno)
echo "Vaše jméno je $jmeno<br />";
//v případě, že nebude zadáno jméno
else
echo "Zadejte, prosím, jméno!<br />";
if ($prijmeni)
echo "Vaše prijmeni je $prijmeni<br />";
//v případě, že nebude zadáno příjmení
else
echo "Zadejte, prosím, příjmení!<br />";
if ($windows98) echo "Váš OS je <b>$windows98</b><br />";
if ($windowsXP) echo "Váš OS je <b>$windowsXP</b><br />";
if ($MAC) echo "Váš OS je <b>$MAC</b>";
?>
Jak je zřejmé ze skriptu PHP, který je velmi jednoduchý, nejprve jsem zařadil podle mě velmi užitečnou věc. Jde o testování, jestli uživatel při vyplňování formuláře napsal do kolonek své jméno a příjmení. Pokud tak neučiní, skript ho na tuto jeho chybu upozorní a skončí. Při mém testování jsem zadal pouze své jméno. Nebyla splněna ovšem druhá podmínka - vola příjmení, takže skript mě rovněž vrátil a upozornil na chybu (viz. druhý obrázek).

Jestliže uživatel nevyplní své údaje, nepustí ho skript dál...
Pokud se uživatel o krok vrátí zpět na původní stránku a zadání svého jména a příjmení zopakuje, může ve vyplňování formuláře pokračovat. Stačí zatrhnout přislušné políčko a formulář je úspěšně vyplněn, jak je vidět na třetím obrázku. Samozřejmě takhle můžeme formuláře jakkoli doplňovat o další možnosti a používat přitom funkcí dalších elementů. Namátkově jmenuji např. element select, který nám vytvořčí rozvírací (výběrove). Prostě, možností je hodně. Ale to není předmětem tohoto článku.

A takhle vypadá sdělení výsledku z vyplňeného formuláře
Resumé
V tomto článku jsem tedy ukázal tvorbu HTML formuláře a PHP skriptu. Příklad pro názornost jsem rozdělil na dva soubory (viz. ukázky zdrojáků). Avšak lze použít též variantu takříkajíc "vjednom", na jedné stránce, v jednom zápise, tudiž v jednom souboru. V tom případě by skript generoval formulář a zároveň by pracoval jako skript zpracovávající hodnoty formuláře. To je výhoda, jelikož vše bychom měli na jednom place. Jestliže bychom potřebovali něco změnit, šlo by to maximálně rychle a snadno!! Rovněž změna názvu by nedělala žádný problém. Můžete si oba "zdrojáky" z příkladu dát na jednu stránku. Zkuste to, jako domácí úkol z tohoto článku i to vám bude fungovat bez problémů.
Zatím nikdo nekomentoval. Buďte proto první a vložte svůj komentář.
Aby jste mohli přidávat komentáře, musíte být přihlášený.
Musíte být registrovaný, aby jste mohli hodnotit.
Prosím přihlašte se, a nebo se zaregistrujte.
Zatím nikdo nehodnotil.