⊗ppPmFmChcN 307 of 447 menu

Sfumature dell'utilizzo delle checkbox in PHP

Supponiamo che nel nostro modulo ci sia solo una checkbox:

<form action="" method="GET"> <input type="checkbox" name="flag"> <input type="submit"> </form>

Supponiamo che il codice di elaborazione del nostro modulo sia così:

<?php if (!empty($_GET)) { // se il modulo è stato inviato if (isset($_GET['flag'])) { // se la checkbox è selezionata echo 'selezionato'; } else { echo 'non selezionato'; } } ?>

Ci aspetta un problema - se la checkbox non è selezionata, poiché nel modulo non ci sono altri elementi oltre alla checkbox, in $_GET ci sarà un array vuoto. Ciò significa che nel codice di elaborazione del modulo non entreremo nel primo if, che verifica l'invio del modulo.

Per risolvere il problema, viene utilizzata una tecnica speciale: creare un input nascosto con lo stesso nome della nostra checkbox. In questo caso, il valore dell'input nascosto è impostato a zero, e quello della checkbox a uno:

<form action="" method="GET"> <input type="hidden" name="flag" value="0"> <input type="checkbox" name="flag" value="1"> <input type="submit"> </form>

In questo caso, accadrà quanto segue. Se la checkbox non è selezionata, verrà inviato al server solo il valore dell'input nascosto. Se invece la checkbox è selezionata, verranno inviati al server entrambi i valori con lo stesso nome. Ma, poiché il valore della checkbox sarà il secondo, semplicemente sovrascriverà il primo.

Quindi, ora la nostra checkbox invierà al server zero o uno:

<?php var_dump($_GET['flag']); // '0' o '1' ?>

Usiamolo nella nostra verifica:

<?php if (!empty($_GET)) { if ($_GET['flag'] === '1') { echo 'selezionato'; } else { echo 'non selezionato'; } } ?>

Utilizzando una checkbox, chiedi all'utente se ha già 18 anni o meno. Se li ha, concedigli l'accesso al sito, altrimenti no.

Italiano
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesia日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Utilizziamo i cookie per il funzionamento del sito, l'analisi e la personalizzazione. I dati vengono elaborati in conformità con la Politica sulla privacy.
accetta tutto personalizza rifiuta