PHP Manual
/
Formuláre

Formuláre, spracovanie formulárov v PHP

22. 08. 2019

Predpokladám, že sme vytvorili formulár HTML, ktorý sme odoslali, a teraz chceme spracovať údaje. O vytvorení formulára HTML existuje samostatný článok.

Prijímanie údajov - rôzne spôsoby

Spôsob odoslania formulára sa nastavuje priamo v HTML

Existujú 2 možnosti:

  • GET - je viditeľný v adresnom riadku za otáznikom Napríklad: php.baraja.cz/search.php?query=formulare
  • POST - Skrytý (neviditeľný), väčšina formulárov sa posiela poštou

Potom ich musíme prečítať v PHP rovnakou metódou.

Získanie údajov od používateľa a ich prenos do skriptu

Základom je HTML formulár, ako ho vytvoriť sa dočítate v samostatnom článku.

Na začiatok predpokladajme jednoduchý formulár na zadanie mena používateľa:

Zadejte jméno:

Zobrazí sa textové pole, do ktorého zadajte meno a kliknite na tlačidlo Odoslať. Po kliknutí na tlačidlo sa obsah poľa odošle do skriptu welcome.php.

Teraz sa venujte samotnému spracovaniu v súbore welcome.php:

$username = $_GET['username'];
echo 'Zadané meno je: ' . $username;

Všimnite si špeciálnu premennú $_GET. Ide o nadglobálnu premennú, ktorá obsahuje údaje z formulára a ku ktorej možno pristupovať ako k poľu.

Problémom tohto riešenia však je, že prijaté údaje nie sú bezpečné a podobný formulár možno ľahko napadnúť. Potenciálny útočník môže napríklad do poľa namiesto mena zadať javascriptový kód, ktorý sa zapíše na stránku a vykoná.

Preto musíme vždy upraviť všetky údaje používateľa pred ich odoslaním do kódu HTML:

$username = $_GET['username'] ?? "Neznámy;
echo 'Zadané meno je: ' . htmlspecialchars($username);

Ďalšie spracovanie

S prijatými údajmi môžeme robiť čokoľvek a zaobchádzať s nimi ako s bežnou premennou.

Napríklad pridajte hodnotu do dvoch polí:

echo $_GET['x'] + $_GET['y'];

Alebo uložte do súboru, databázy, e-mailu, ...

Na tento účel sú užitočné nasledujúce funkcie:

  • file_put_contents - funkcia na uloženie údajov do súboru
  • MD5 - výpočet kontrolného súčtu, napríklad pre heslá
  • Cookies - ukladanie údajov do cookies (malé súbory vo webovom prehliadači)

Jan Barášek   Více o autorovi

Autor článku pracuje jako seniorní vývojář a software architekt v Praze. Navrhuje a spravuje velké webové aplikace, které znáte a používáte. Od roku 2009 nabral bohaté zkušenosti, které tímto webem předává dál.

Rád vám pomůžu:

Související články

1.
Status:
All systems normal.
2024