Začínáme s PHP - zpracování dat z formuláře (21. díl)

Napsal O webu (») 23. 8. 2005 v kategorii PHP/HTML, přečteno: 7237×

Jedna z často využívaných možností nejen pro feedback (neboli zpětnou vazbu) na stránkách.

Kromě e-mailu (popř. jiných komunikačních kanálů) je jediná zpětná vazba na webu tvořena právě formulářem s možností napsat svůj vlastní názor (apod.). Ať už to je samostatný formulář, či součást knihy návštěv, vždy se tu zpracovávají nějaká data pocházející z formuláře. Jsou dva způsoby, kterými můžeme data obdržet: metodou GET (data budou viditelná v adresní řádce) nebo metodou POST (nejpoužívanější).

Formulář

Nejprve si musíme vytvořit onen formulář:

<form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post">
E-mail: <input type="text" name="email">
Zpráva: <textarea name="zprava"></textarea>
<input type="submit" name="ok" value="Zprávu odeslat">
</form>

Do atributu action můžete umístit jakýkoli název souboru, který bude odeslaná data zpracovávat. My budeme data zpracovávat v témže souboru, kde máme umístěný formulář, a pro tuto možnost je nejlepší uvedený způsob (lepší než kdybychom tento atribut nechali prázdný, což je taky jedna z možností). Metodu můžeme zvolit 'post' nebo 'get'.
Pokud se budete chtít tvorbě formulářů věnovat více, vyhledejte si něco zabývající se (X)HTML.

Zpracování dat v PHP

Zaprvé musíme data zpracovávat pouze, když nám nějaká přijdou. Myslím, že bude stačit, když obsah formuláře odešleme na e-mail.

<?php
if (IsSet($_POST["ok"]))
{
if (mail("admin@tenhleweb.cz", "Mail z webu", "E-mail: ". $_POST["email"] ." Zpráva: ". $_POST["zprava"]))
echo "Zpráva byla odeslána.";
else
echo "Zprávu se nepodařilo odeslat.";
}
?>

Tak to je celé to tajemství. Jde pouze o to, vyzvednout si data ze superglobální proměnné $_POST. Jak to celé zakomponujete do stránky je celé vaše věc.

Závěr

Dnešní díl byl docela krátký, ale doufám, že užitečný. Můžete se těšit příště - ještě ale pořádně nevím, o čem to bude. :-)


Autor: mzima

Facebook Twitter Topčlánky.cz Linkuj.cz

Komentáře

Článek ještě nebyl okomentován.


Nový komentář

Téma:
Jméno:
Notif. e-mail *:
Komentář:
  [b] [obr]
Odpovězte prosím číslicemi: Součet čísel jedna a šest