Sammendrag: I denne opplæringen lærer DU HVORDAN DU bruker PHP til å behandle et skjema med en eller flere avkrysningsbokser.
en rask introduksjon til avkrysningselementet
En avkrysningsrute lar deg velge en enkelt verdi for innsending i et skjema. For å opprette en avmerkingsboks bruker du elementet input med typen checkbox som følger:
Code language: HTML, XML (xml)
en avmerkingsboks har to tilstander: merket og ikke merket.
hvis du merker av i avmerkingsboksen og sender skjemaet ved hjelp av metoden POST, vil $_POST associative array inneholde et element med nøkkelen checkbox_name og verdien checkbox_value.
Code language: PHP (php)
men hvis du fjerner merket i avmerkingsboksen og sender skjemaet, vil $_POST ikke ha noe element med nøkkel checkbox_name. Det betyr at følgende uttrykk returnerer false:
Code language: PHP (php)
for å sjekke om en avkrysningsboks er merket, kan du også bruke filter_has_var() – funksjonen slik:
Code language: JavaScript (javascript)
funksjonen filter_has_var() returnerer true hvis checkbox_name finnes i INPUT_POST.
en avmerkingsboks har ingen etikett. Derfor bør du alltid bruke en avkrysningsboks med et <label> – element som dette:
Code language: HTML, XML (xml)
i dette eksemplet er verdien for for – attributtet for <label> – elementet det samme som verdien for id – attributtet i avmerkingsboksen. Når du knytter en etikett til en avmerkingsboks, kan du klikke på etiketten for å merke av eller fjerne merket for avmerkingsboksen.
En annen måte å knytte en avmerkingsboks med en etikett på, er å plassere avmerkingsboksen inne i etiketten slik:
Code language: HTML, XML (xml)
I dette tilfellet trenger du ikke å angi id for avmerkingsboksen og for – attributtet for etiketten.
et enkelt PHP-avkrysningseksempel
vi lager et enkelt skjema med en avkrysningsrute og en send-knapp.
opprett først følgende katalog-og filstruktur:
Code language: plaintext (plaintext)
| Fil | Katalog | Beskrivelse |
|---|---|---|
| indeks.php | . | Inneholder hovedlogikken som laster får.php eller post.php avhengig AV HTTP-forespørselsmetoden |
| topptekst.php | inc | Inneholder header-koden |
| bunntekst.php | inc | Inneholder bunntekstkoden |
| få.php | inc | Inneholder koden for å vise et skjema med EN avkrysningsboks når HTTP-forespørselen ER GET. |
| innlegg.php | inc | Inneholder koden for håndtering AV postforespørsel |
| .htaccess | inc | Forhindre direkte tilgang til filene i inc-katalogen |
| stil.css | css | Inneholder CSS-koden |
indeks.php
For Det Andre legger du til følgende kode i filen index.php :
Code language: PHP (php)
index.php laster skjemaet fra get.php – filen hvis HTTP-forespørselsmetoden ER GET. Og det laster post.php – filen hvis skjemaet er sendt inn.
variabelen $errors brukes til å lagre feilmeldinger.
topptekst.php
Tredje, plasser følgende kode til filen header.php :
Code language: HTML, XML (xml)
bunntekst.php
For Det Fjerde inneholder filen footer.php de omsluttende kodene som svarer til åpningskodene fra filen header.php :
Code language: HTML, XML (xml)
få.php
Femte, opprett et skjema i filen get.php :
Code language: PHP (php)
innlegg.php
Sjette, legg til følgende kode i filen post.php for å rense og validere skjemadata:
Code language: PHP (php)
Sammendrag
- Bruk
isset()ellerfilter_has_var()For å sjekke om det er merket av for en avmerkingsboks.