Riepilogo: in questo tutorial, imparerai come usare PHP per elaborare un modulo con una o più caselle di controllo.
Una rapida introduzione all’elemento casella di controllo
Una casella di controllo consente di selezionare un singolo valore per l’invio in un modulo. Per creare una casella di controllo, si utilizza l’elemento input
con il tipo checkbox
come segue:
Code language: HTML, XML (xml)
Una casella di controllo ha due stati: selezionato e deselezionato.
Se si seleziona la casella di controllo e si invia il modulo utilizzando il metodo POST
, l’array associativo $_POST
conterrà un elemento la cui chiave è checkbox_name
e il valore è checkbox_value
.
Code language: PHP (php)
Tuttavia, se deselezionate la casella di controllo e inviate il modulo, $_POST
non avrà alcun elemento con la chiave checkbox_name
. Significa che la seguente espressione restituisce false
:
Code language: PHP (php)
Per verificare se una casella di controllo è selezionata, puoi anche usare la funzione filter_has_var()
in questo modo:
Code language: JavaScript (javascript)
La funzione filter_has_var()
restituisce true
se checkbox_name
esiste in INPUT_POST
.
Una casella di controllo non ha etichetta. Pertanto, dovresti sempre usare una casella di controllo con un elemento <label>
come questo:
Code language: HTML, XML (xml)
In questo esempio, il valore dell’attributo for
dell’elemento <label>
è uguale al valore dell’attributo id
della casella di controllo. Quando si associa un’etichetta a una casella di controllo, è possibile fare clic sull’etichetta per selezionare o deselezionare la casella di controllo.
Un altro modo per associare una casella di controllo a un’etichetta è posizionare la casella di controllo all’interno dell’etichetta in questo modo:
Code language: HTML, XML (xml)
In questo caso, non è necessario specificare l’attributo id
per la casella di controllo e l’attributo for
per l’etichetta.
Un semplice esempio di casella di controllo PHP
Creeremo un semplice modulo con una casella di controllo e un pulsante di invio.
Innanzitutto, creare la seguente struttura di directory e file:
Code language: plaintext (plaintext)
File | Directory | Descrizione |
---|---|---|
indice.php | . | Contiene la logica principale che carica get.php o posta.php a seconda del metodo di richiesta HTTP |
intestazione.php | inc | Contiene il codice dell’intestazione |
piè di pagina.php | inc | Contiene il codice piè di pagina |
prendi.php | inc | Contiene il codice per mostrare un modulo con una casella di controllo quando la richiesta HTTP è GET. |
posta.php | inc | Contiene il codice per la gestione della richiesta POST |
.htaccess | inc | Impedisce l’accesso diretto ai file nella directory inc |
stile.css | css | Contiene il codice CSS |
indice.php
In secondo luogo, aggiungere il seguente codice al file index.php
:
Code language: PHP (php)
Il index.php
carica il modulo dal file get.php
se il metodo di richiesta HTTP è GET. E carica il file post.php
se viene inviato il modulo.
La variabile $errors
viene utilizzata per memorizzare i messaggi di errore.
intestazione.php
Terzo, inserire il seguente codice nel file header.php
:
Code language: HTML, XML (xml)
piè di pagina.php
In quarto luogo, il file footer.php
contiene i tag di chiusura corrispondenti ai tag di apertura del file header.php
:
Code language: HTML, XML (xml)
prendi.php
Quinto, creare un modulo nel file get.php
:
Code language: PHP (php)
posta.php
Sesto, aggiungere il seguente codice al file post.php
per disinfettare e convalidare i dati del modulo:
Code language: PHP (php)
Sommario
- Utilizzare
isset()
ofilter_has_var()
per verificare se una casella di controllo è selezionata o meno.