Oversigt: i denne vejledning lærer du, hvordan du bruger PHP til at behandle en formular med et eller flere afkrydsningsfelter.
en hurtig introduktion til afkrydsningsfeltelementet
et afkrydsningsfelt giver dig mulighed for at vælge en enkelt værdi for indsendelse i en formular. For at oprette et afkrydsningsfelt skal du bruge elementet input
med typen checkbox
som følger:
Code language: HTML, XML (xml)
et afkrydsningsfelt har to tilstande: markeret og ikke markeret.
hvis du markerer afkrydsningsfeltet og sender formularen ved hjælp af POST
– metoden, vil $_POST
associative array indeholde et element, hvis nøgle er checkbox_name
og værdien er checkbox_value
.
Code language: PHP (php)
men hvis du fjerner markeringen i afkrydsningsfeltet og sender formularen, har $_POST
ikke noget element med nøgle checkbox_name
. Det betyder, at følgende udtryk vender tilbage false
:
Code language: PHP (php)
for at kontrollere, om et afkrydsningsfelt er markeret, kan du også bruge filter_has_var()
– funktionen som denne:
Code language: JavaScript (javascript)
funktionen filter_has_var()
returnerer true
hvis checkbox_name
findes i INPUT_POST
.
et afkrydsningsfelt har ingen etiket. Derfor skal du altid bruge et afkrydsningsfelt med et <label>
element som dette:
Code language: HTML, XML (xml)
i dette eksempel er værdien af attributten for
for elementet <label>
det samme som værdien af attributten id
i afkrydsningsfeltet. Når du knytter en etiket til et afkrydsningsfelt, kan du klikke på etiketten for at markere eller fjerne markeringen i afkrydsningsfeltet.
en anden måde at knytte et afkrydsningsfelt til en etiket er at placere afkrydsningsfeltet inde i etiketten som denne:
Code language: HTML, XML (xml)
i dette tilfælde behøver du ikke at angive id
for afkrydsningsfeltet og attributten for
for etiketten.
et simpelt PHP-afkrydsningsfelteksempel
vi opretter en simpel formular med et afkrydsningsfelt og en Send-knap.
Opret først følgende mappe og filstruktur:
Code language: plaintext (plaintext)
fil | Directory | beskrivelse |
---|---|---|
indeks.php | . | indeholder den vigtigste logik, som belastninger får.php eller post.php afhængigt af HTTP-anmodningsmetoden |
header.php | inc | indeholder overskriftskoden |
sidefod.php | inc | indeholder sidefodskoden |
få.php | inc | indeholder koden til visning af en formular med et afkrydsningsfelt, når HTTP-anmodningen er GET. |
stolpe.php | inc | indeholder koden til håndtering af POSTANMODNING |
.htaccess | inc | forhindre direkte adgang til filerne i inc-mappen |
stil.css | css | indeholder CSS-koden |
indeks.php
for det andet, tilføj følgende kode til index.php
filen:
Code language: PHP (php)
index.php
indlæser formularen fra filen get.php
, hvis HTTP-anmodningsmetoden er GET. Og det indlæser post.php
filen, hvis formularen er indsendt.
variablen $errors
bruges til at gemme fejlmeddelelser.
overskrift.php
tredje, placere følgende kode til header.php
fil:
Code language: HTML, XML (xml)
sidefod.php
for det fjerde indeholder filen footer.php
de omsluttende tags, der svarer til åbningskoderne fra filen header.php
:
Code language: HTML, XML (xml)
få.php
femte, Opret en formular i get.php
filen:
Code language: PHP (php)
stolpe.php
sjette, tilføj følgende kode til post.php
filen for at desinficere og validere formulardataene:
Code language: PHP (php)
Resume
- brug
isset()
ellerfilter_has_var()
til at kontrollere, om et afkrydsningsfelt er markeret eller ej.