PHP

Web o webu

Odesílání dat

Formuláře

Formuláře slouží k odeslání dat vyplněných uživatelem a jejich následnému uložení do databáze či odeslání na e-mail.

HTML prvky formuláře (textové, datumové a číselné pole, přepínače, zaškrtávací pole, seznamy apod.) najdete v kapitole HTML - Formuláře.

Pro následné zpracování dat pomocí php, respektive pro získání hodnot formuláře v php proměnných, jsou důležité name prvků formuláře a metoda odesílání dat formuláře. U přepínačů, zaškrtávacích polí a položek seznamů je odesílaná hodota určena parametrem value těchto prvků.

Odesílání dat z formuláře

Data z formuláře lze odeslat metodou post i metodou get. Neuvedeme-li parametr method, data se odešlou metodou get. Vhodnější je ale používat metodu post, neboť data jsou odeslána skrytě a lze takto odeslat větší množství dat.

Data mohou být zpracována toutéž stránkou, jaká obsahuje formulář (v tom případě nemusíme uvádět parametr action), nebo jinou php stránkou (její adresu uvedeme do action formuláře).

Metoda POST

Data z formuláře jsou obvykle odesílána metodou post.

<form action="data.php" method="post" onsubmit="return kontrola()">
  <p>jméno: <input type="text" name="jmeno">
  <br>heslo: <input type="password" name="heslo">
  <br><input type="submit" value="Odeslat"></p>
</form>

V data.php budou hodnoty polí jmeno a heslo v proměnných:

$_POST["jmeno"]
$_POST["heslo"]

Name formulářových prvků určuje indexy pole $_POST.

Metoda GET

Odeslání dat metodou get můžeme použít tehdy, je-li množství dat malé a nejedná-li se o chráněné údaje.

<form action="vypis.php" method="get">
<fieldset>
  <legend>Seřadit podle</legend>
  <input type="radio" name="podle" value="cena">ceny
  <input type="radio" name="podle" value="nazev">názvu
</fieldset>
<input type="submit" value="Seřadit">
</form>

Ve vypis.php bude volba přepínače podle v proměnné:

$_GET["podle"]