sammanfattning: i denna handledning lär du dig hur du använder PHP för att bearbeta ett formulär med en eller flera kryssrutor.
en snabb introduktion till kryssrutan elementet
en kryssruta kan du välja ett enda värde för inlämning i ett formulär. För att skapa en kryssruta använder du elementet input
med typen checkbox
enligt följande:
Code language: HTML, XML (xml)
en kryssruta har två tillstånd: markerad och avmarkerad.
om du markerar kryssrutan och skickar formuläret med metoden POST
, innehåller $_POST
associativ array ett element vars nyckel är checkbox_name
och värdet är checkbox_value
.
Code language: PHP (php)
men om du avmarkerar kryssrutan och skickar in formuläret kommer $_POST
inte att ha något element med nyckel checkbox_name
. Det betyder att följande uttryck returnerar false
:
Code language: PHP (php)
för att kontrollera om en kryssruta är markerad kan du också använda funktionen filter_has_var()
så här:
Code language: JavaScript (javascript)
funktionen filter_has_var()
returnerar true
om checkbox_name
finns i INPUT_POST
.
en kryssruta har ingen etikett. Därför bör du alltid använda en kryssruta med ett <label>
– element så här:
Code language: HTML, XML (xml)
i det här exemplet är värdet för attributet for
för elementet <label>
samma som värdet för attributet id
i kryssrutan. När du associerar en etikett med en kryssruta kan du klicka på etiketten för att markera eller avmarkera kryssrutan.
ett annat sätt att associera en kryssruta med en etikett är att placera kryssrutan inuti etiketten så här:
Code language: HTML, XML (xml)
i det här fallet behöver du inte ange id
för kryssrutan och for
attributet för etiketten.
ett enkelt PHP-kryssruteexempel
vi skapar ett enkelt formulär med en kryssruta och en Skicka-knapp.
skapa först följande katalog och filstruktur:
Code language: plaintext (plaintext)
fil | katalog | beskrivning |
---|---|---|
index.php | . | innehåller huvudlogiken som laddar får.php eller post.php beroende på HTTP-förfrågningsmetoden |
header.php | inc | innehåller huvudkoden |
sidfot.php | inc | innehåller sidfoten koden |
få.php | inc | innehåller koden för att visa ett formulär med en kryssruta när HTTP-begäran är GET. |
post.php | inc | innehåller koden för hantering av postförfrågan |
.htaccess | inc | förhindra direkt åtkomst till filerna i inc-katalogen |
stil.css | css | innehåller CSS-koden |
index.php
för det andra, lägg till följande kod i filen index.php
:
Code language: PHP (php)
index.php
laddar formuläret från get.php
– filen om HTTP-förfrågningsmetoden är GET. Och den laddar filen post.php
om formuläret skickas in.
$errors
– variabeln används för att lagra felmeddelanden.
rubrik.php
tredje, placera följande kod till filen header.php
:
Code language: HTML, XML (xml)
sidfot.php
för det fjärde innehåller filen footer.php
de omslutande taggarna som motsvarar öppningstaggarna från filen header.php
:
Code language: HTML, XML (xml)
få.php
femte, skapa ett formulär i filen get.php
:
Code language: PHP (php)
post.php
sjätte, Lägg till följande kod i filen post.php
för att sanera och validera formulärdata:
Code language: PHP (php)
sammanfattning
- använd
isset()
ellerfilter_has_var()
för att kontrollera om en kryssruta är markerad eller inte.