Formuláre sú základným nástrojom pre zber údajov od používateľa na webe. V kombinácii s PHP umožňujú spracovať tieto údaje a reagovať na interakciu – od jednoduchých kontaktov až po zložité prihlasovanie, registráciu či objednávkové systémy. V tomto článku si prejdeme základy práce s formulármi v PHP, objasníme rozdiel medzi GET a POST a ukážeme si praktický príklad prihlasovacieho formulára.
HTML formulár obsahuje množstvo vstupných prvkov, ktoré PHP dokáže spracovať. Medzi najčastejšie patria:
<input type="text"> – textové pole<input type="password"> – pole pre heslo<input type="submit"> – odosielacie tlačidlo<select> – rozbaľovací zoznam<textarea> – viacriadkový textZákladný príklad HTML formulára:
<form action="spracuj.php" method="post">
Meno: <input type="text" name="meno"><br>
Heslo: <input type="password" name="heslo"><br>
<input type="submit" value="Prihlásiť sa">
</form>
Metóda odoslania určuje, ako sa údaje z formulára prenášajú na server:
index.php?meno=Eva)Kedy použiť GET?
Kedy použiť POST?
Bezpečnosť: GET nikdy nepoužívajte na heslá alebo osobné údaje – tieto údaje sa môžu ukladať do histórie prehliadača a sú viditeľné v logoch servera.
PHP sprístupňuje údaje z formulára cez superglobálne polia:
$_GET["meno"] – ak bol formulár odoslaný cez method="get"$_POST["meno"] – ak bol formulár odoslaný cez method="post"Príklad:
<?php
$meno = $_POST["meno"];
$heslo = $_POST["heslo"];
echo "Vitaj, " . htmlspecialchars($meno);
?>
Funkcia htmlspecialchars() zabraňuje XSS útokom a zabezpečí, že používateľom vložené HTML sa nezobrazí ako kód.
Pred tým, než uložíte alebo spracujete údaje, je nutné overiť ich platnosť:
empty($_POST["meno"])filter_var())Príklad validácie mena:
if (empty($_POST["meno"])) {
echo "Meno je povinné!";
}
HTML formulár:
<form action="login.php" method="post">
Meno: <input type="text" name="meno"><br>
Heslo: <input type="password" name="heslo"><br>
<input type="submit" value="Prihlásiť">
</form>
login.php – spracovanie:
<?php
$meno = $_POST["meno"] ?? "";
$heslo = $_POST["heslo"] ?? "";
if ($meno === "admin" && $heslo === "tajne") {
echo "Úspešne prihlásený!";
} else {
echo "Nesprávne meno alebo heslo.";
}
?>
V praxi by ste používali databázu a heslá by boli hashované pomocou password_hash().
Spracovanie formulárov v PHP je základná zručnosť každého webového vývojára. Rozdiel medzi GET a POST ovplyvňuje bezpečnosť, použiteľnosť aj dizajn vašej aplikácie. Ak zvládnete čítať údaje z formulára, validovať ich a bezpečne ich spracovať, máte otvorenú cestu k budovaniu profesionálnych webových riešení.
Chcete sa naučiť PHP od základov, vrátane formulárov, databáz a AJAXu? Vyskúšajte náš kurz PHP – Programovanie dynamických webových stránok v PHP a úvod do AJAXu a začnite tvoriť vlastné webové aplikácie ešte dnes.
Viac informacií preberáme na kurze:
Kurz PHP - Programovanie dynamických webových stránok v PHP a úvod do AJAXu
Marián Knězek