Zpracování dat z formuláře
klasický formulář obsahuje prvky pro uživatelský vstup (textová pole.. ) a nějaké prvky pro jeho odeslání.
Abychom mohli formulář zpracovat pomocí PHP, měl by splňovat dvě zásady:
- měl by mít specifikován v tagu <form> atributy method a action
- ovládací prvky by měly mít specifikovány svůj název
Formulář
<form method="post" action="zpracuj.php"> Příjmení: <input name="prijmeni"> Jméno: <input name="jmeno"> <input type="Submit" name="odesli"> </form>
Do atributu action můžeme umístit jakýkoli název souboru, který bude odeslaná data zpracovávat. Pokud jsou data zpracována 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'. Metoda GET posílá data z formuláře jako součást URL. Tedy data se objeví v poli Adresa Vašeho prohlížeče. Z toho vyplývá, že se tento postup hodí dobře pro data, která jsou krátká a u kterých nevadí, když si je někdo přečte. Mějte rovněž na paměti, že když si data může někdo přečíst, může je taky změnit. Naproti tomu POST nepřidává data do URL, ale odesílá je jako samostatný HTTP objekt. Z toho vyplývá jednak to, že odesílaná data mohou být podstatně delší než u GET, a jednak to, že je odesílatel nemůže tak snadno změnit například vhodným zásahem do adresy. Případně je možné k proměnným přistupovat bez rozlišení GET a POST pomocí $_REQUEST['jmeno'], $_REQUEST['prijmeni'].
Data jsou uložena do speciálního pole $_POST nebo $_GET a právě přes tato pole se k nim dostaneme.
Skript zpracuj.php
<?php $prijmeni = $_POST['prijmeni']; // nebo $prijmeni = $_POST["prijmeni"]; $jmeno = $_POST['jmeno']; // nebo $jmeno = $_POST["jmeno"]; Echo "Vaše iniciály: $prijmeni $jmeno " ; ?>