Hvordan lese om en avkrysningsboks er avmerket i PHP?
Hvis HTML-siden din ser slik ut:
<input type="checkbox" name="test" value="value1">
Etter at du har sendt inn skjemaet, kan du sjekke det med:
isset($_POST['test'])
eller
if ($_POST['test'] == 'value1') ...
Zend Framework bruker et fint hack på avmerkingsbokser, som du også kan gjøre selv:
Hver avkrysningsboks som genereres er assosiert med et skjult felt med samme navn, plassert rett før avkrysningsboksen, og med en verdi på "0". Så hvis avkrysningsruten din har verdien "1", vil du alltid få verdien "0" eller "1" i den resulterende GET- eller POST-verdien.
<input type="hidden" name="foo" value="0" />
<input type="checkbox" name="foo" value="1">
Du kan sjekke den tilsvarende verdien som angitt og ikke tom i enten $_POST- eller $_GET-arrayet, avhengig av skjemaets handling.
dvs.: Med et POST-skjema som bruker et "navn" på "test" (dvs.: <input type="checkbox" name="test">
, vil du bruke:
if(isset($_POST['test']) {
// The checkbox was enabled...
}