Ako vytvoriť a spracovať formulár v PHP pomocou metód GET a POST

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.

1. Štruktúra HTML formulára: Základné prvky

HTML formulár obsahuje množstvo vstupných prvkov, ktoré PHP dokáže spracovať. Medzi najčastejšie patria:

Zá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>

2. GET vs. POST: Rozdiely a bezpečnostné aspekty

Metóda odoslania určuje, ako sa údaje z formulára prenášajú na server:

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.

3. Čítanie údajov z formulára v PHP

PHP sprístupňuje údaje z formulára cez superglobálne polia:

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.

4. Validácia vstupov a ošetrenie chýb

Pred tým, než uložíte alebo spracujete údaje, je nutné overiť ich platnosť:

Príklad validácie mena:

if (empty($_POST["meno"])) {
  echo "Meno je povinné!";
}

5. Ukážka: Prihlasovací formulár

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().

Záver

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.

Ako začať programovať?

Úvod do programovania pre každého bez prechádzajúcich znalostí.

Stiahnite si náš ebook teraz výnimočne zdarma!!!

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

 

Súvisiace články: