shrnutí: v tomto tutoriálu se dozvíte, jak používat PHP ke zpracování formuláře s jedním nebo více zaškrtávacími políčky.
rychlý úvod do prvku zaškrtávacího políčka
zaškrtávací políčko umožňuje vybrat jednu hodnotu pro odeslání ve formuláři. Chcete-li vytvořit zaškrtávací políčko, použijte prvek input
s typem checkbox
následujícím způsobem:
Code language: HTML, XML (xml)
zaškrtávací políčko má dva stavy: zaškrtnuté a nezaškrtnuté.
pokud zaškrtnete políčko a odešlete formulář pomocí metody POST
, $_POST
asociativní pole bude obsahovat prvek, jehož klíč je checkbox_name
a hodnota je checkbox_value
.
Code language: PHP (php)
pokud však zrušíte zaškrtnutí políčka a odešlete formulář, $_POST
nebude mít žádný prvek s klíčem checkbox_name
. To znamená, že se vrací následující výrazfalse
:
Code language: PHP (php)
Chcete-li zkontrolovat, zda je zaškrtnuto políčko, můžete také použít tuto funkci filter_has_var()
:
Code language: JavaScript (javascript)
funkce filter_has_var()
vrací true
, pokud checkbox_name
existuje v INPUT_POST
.
zaškrtávací políčko nemá žádný štítek. Proto byste měli vždy používat zaškrtávací políčko s <label>
prvkem, jako je tento:
Code language: HTML, XML (xml)
v tomto příkladu je hodnota atributu for
prvku <label>
stejná jako hodnota atributu id
zaškrtávacího políčka. Když přidružíte štítek k zaškrtávacímu políčku, můžete klepnutím na štítek zaškrtnout nebo zrušit zaškrtnutí políčka.
dalším způsobem, jak přiřadit zaškrtávací políčko ke štítku, je umístit zaškrtávací políčko do štítku takto:
Code language: HTML, XML (xml)
v tomto případě není nutné zadávat zaškrtávací políčko id
a atribut for
pro štítek.
jednoduchý příklad zaškrtávacího políčka PHP
vytvoříme jednoduchý formulář s jedním zaškrtávacím políčkem a tlačítkem odeslat.
nejprve vytvořte následující strukturu adresářů a souborů:
Code language: plaintext (plaintext)
soubor | adresář | popis |
---|---|---|
index.php | . | obsahuje hlavní logiku, kterou načte.php nebo příspěvek.php v závislosti na metodě požadavku HTTP |
hlavička.php | inc | obsahuje kód záhlaví |
zápatí.php | inc | obsahuje zápatí kód |
jdi.php | inc | obsahuje kód pro zobrazení formuláře se zaškrtávacím políčkem při požadavku HTTP GET. |
pošta.php | inc | obsahuje kód pro zpracování POST požadavku |
.htaccess | inc | zabránit přímému přístupu k souborům v adresáři inc |
styl.css | css | obsahuje CSS kód |
index.php
za druhé přidejte do souboru index.php
následující kód:
Code language: PHP (php)
index.php
načte formulář ze souboru get.php
, pokud je metoda požadavku HTTP GET. A načte soubor post.php
, pokud je formulář odeslán.
proměnná $errors
se používá k ukládání chybových zpráv.
hlavička.php
za třetí vložte do souboru header.php
následující kód:
Code language: HTML, XML (xml)
zápatí.php
za čtvrté, soubor footer.php
obsahuje uzavírací značky odpovídající úvodním značkám ze souboru header.php
:
Code language: HTML, XML (xml)
jdi.php
pátý, vytvořte formulář v souboru get.php
:
Code language: PHP (php)
pošta.php
šesté, přidejte následující kód do souboru post.php
, abyste dezinfikovali a ověřili data formuláře:
Code language: PHP (php)
souhrn
- pomocí
isset()
nebofilter_has_var()
zkontrolujte, zda je zaškrtnuto políčko nebo ne.