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