Pomocí formulářů se dají dělat divy. Hlavně poslat nějaké hodnoty - ale kam vlastně? Někdy se pomocí formuláře přihlásíte k registraci, pošlete něco někomu mailem (ani nevíte na jakou adresu), vložíte položku do databáze...
Celá taková atrakce se dá rozdělit na tři fáze:
Podíváme se na všechny tři části na příkladu - vytvoření formuláře pro zaslání zprávy na e-mail.
Pokud jste přišli na tuto stránku v domnění, že tady najdete kód, který okopírujete, vložíte do stránky a budete mít funkční formulář, tak tady nejste správně. Zkuste se podívat na jaknaweb.com, případně se zaregistrovat na www.blueboard.cz.
Co se týče samotného formuláře, vezmu to spíš zběžně. Podrobné informace o vytvoření formuláře v HTML najdete u Yuhůa.
Uděláme si úplně jednoduchý formulář. Detaily vysvětlím postupně dále.
<form method="post" action="zpracovat.php" >
<input type="text" name="odesilatel" /><br />
<textarea name="zprava"></textarea><br />
<input type="submit" name="odeslano" value="Odeslat mail" />
</form>
Necháme-li stranou samotnou syntaxi HTML (znovu připomínám výše uvedený odkaz na JPW), tak důležité je:
Formulář bude vypadat přibližně takto (klidně mačkejte, nic se nestane ;-) ):
(Ve skutečnosti by byl formulář vybaven asi také atributy jako width a height u jednotlivých polí, ty by byly třeba v tabulce… Pro nás to teď není podstatné.)
Takže máme tento formulář, vložený v nějaké - libovolné - stránce. Co se stane, když se zmáčkne odesílací tlačítko:
Do proměnné $_POST['odesilatel'] se uloží hodnota vyplněná v prvním poli; do proměnné $_POST['zprava'] se uloží hodnota z druhého pole, a do $_POST['odeslano'] hodnota "Odeslat mail" (viz atribut "value" u tohoto inputu ve formuláři, která rovněž tvoří nápis na tlačítku). Pak se zavolá skript "zpracovat.php" - ten ale zatím nemáme.
Pokud jste už prostudovali pojednání o include a porozuměli předávání proměnných pomocí GET, všimněte si zde analogie při použití metody POST, a to včetně názvu superglobální proměnné ($_GET, $_POST).