Jak vytvořit a zpracovat formulář v PHP pomocí metod GET a POST

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.

1. Struktura HTML formuláře: Základní prvky

Formulář se skládá z několika vstupních polí:

Pří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>

2. GET vs. POST: Rozdíly a bezpečnost

Metoda formuláře určuje způsob, jakým se data odešlou na server:

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ší.

3. Čtení dat z formuláře v PHP

V PHP získáte data pomocí:

Pří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.

4. Validace vstupu a zpracování chyb

Před prací s daty byste je měli validovat:

Příklad kontroly jména:

if (empty($_POST["jmeno"])) {
  echo "Jméno je povinné!";
}

5. Ukázkový přihlašovací formulář

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

Závěr

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.

Jak začít programovat?

Úvod do programování pro každého bez předchozích znalostí.

Stáhněte si náš ebook teď výjimečně zdarma!!!

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