 
                
  Formuláře jsou základním prvkem webových aplikací. Díky nim může uživatel zadávat data, která poté zpracovává serverový jazyk – například PHP. Pokud se PHP teprve učíte, porozumění rozdílům mezi GET a POST a způsobu práce s $_GET a $_POST je naprostý základ. V tomto článku si vysvětlíme klíčové pojmy a ukážeme si příklad přihlašovacího formuláře.
Formulář se skládá z několika vstupních polí:
<input type="text"> – textové pole<input type="password"> – pole pro heslo<input type="submit"> – tlačítko pro odeslání<select> – rozbalovací seznam<textarea> – víceřádkový vstupPříklad jednoduchého formuláře:
<form action="zpracuj.php" method="post">
  Jméno: <input type="text" name="jmeno"><br>
  Heslo: <input type="password" name="heslo"><br>
  <input type="submit" value="Přihlásit se">
</form>
Metoda formuláře určuje způsob, jakým se data odešlou na server:
index.php?jmeno=Eva)Kdy použít GET?
Kdy použít POST?
Bezpečnost: GET nikdy nepoužívejte pro hesla – data jsou viditelná, ukládají se do historie a mohou být zachycena. POST je pro tyto účely bezpečnější.
V PHP získáte data pomocí:
$_GET["jmeno"] – u formulářů s metodou GET$_POST["jmeno"] – u formulářů s metodou POSTPříklad zpracování POST dat:
<?php
$jmeno = $_POST["jmeno"];
$heslo = $_POST["heslo"];
echo "Vítej, " . htmlspecialchars($jmeno);
?>htmlspecialchars() zajišťuje ochranu proti XSS útokům.
Před prací s daty byste je měli validovat:
empty())filter_var())Příklad kontroly jména:
if (empty($_POST["jmeno"])) {
  echo "Jméno je povinné!";
}HTML:
<form action="login.php" method="post">
  Jméno: <input type="text" name="jmeno"><br>
  Heslo: <input type="password" name="heslo"><br>
  <input type="submit" value="Přihlásit">
</form>PHP (login.php):
<?php
$jmeno = $_POST["jmeno"] ?? "";
$heslo = $_POST["heslo"] ?? "";
if ($jmeno === "admin" && $heslo === "tajne") {
  echo "Přihlášení bylo úspěšné!";
} else {
  echo "Neplatné jméno nebo heslo.";
}
?>V praxi byste použili databázi a hesla hashovali funkcí password_hash().
Formuláře v PHP jsou všestranný nástroj a pochopení rozdílu mezi GET a POST je zásadní pro bezpečnou a funkční aplikaci. Při správné validaci vstupů můžete uživatelům nabídnout robustní interaktívní prvky – od přihlášení až po složité objednávky.
Chcete se naučit PHP od základů, včetně formulářů, databází a AJAXu? Podívejte se na náš kurz PHP – Programovanie dynamických webových stránok v PHP a úvod do AJAXu, který vás provede krok za krokem k samostatné práci v PHP.
Viac informacií preberáme na kurze:
Kurz PHP - Programování dynamických webových stránek v PHP a úvod do AJAXu
Marián Knězek