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_nameog værdien er checkbox_value.
Code language: PHP (php)
men hvis du fjerner markeringen i afkrydsningsfeltet og sender formularen, har $_POSTikke 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_namefindes 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.