Capire quali caselle sono stati selezionati in una forma in php

voti
1

Ho una forma con diverse caselle di controllo. Quando mi si presento a un'altra pagina php, mi chiedo: Come faccio a sapere quali sono controllati senza chiamare isset su ogni nome casella di controllo? (Se c'è un modo). Se io do ognuna delle caselle lo stesso nome, quindi solo l'ultima casella di controllo selezionato viene restituito.

Grazie,
Michael

È pubblicato 16/08/2009 alle 23:12
fonte dall'utente
In altre lingue...                            


2 risposte

voti
5

Un cavillo di PHP richiede che controlli modulo terminano proprio nome con i caratteri []in ordine per più di una di esse da riconoscere.

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
   "http://www.w3.org/TR/html4/strict.dtd">
   <title>Demo</title>

<form action="cb.php">
<div>
    <input type="checkbox" name="animals[]" value="dog" id="dog"> 
    <label for="dog">dog</label>
</div>
<div>
    <input type="checkbox" name="animals[]" value="cat" id="cat"> 
    <label for="cat">cat</label>
</div>
<div>
    <input type="checkbox" name="animals[]" value="rabbit" id="rabbit"> 
    <label for="rabbit">rabbit</label>
</div>
<div>
    <input type="checkbox" name="animals[]" value="hampster" id="hampster"> 
    <label for="hampster">hampster</label>
</div>
<div><input type="submit"></div>
</form>
<?php
if ($_GET['animals']) {
?>
<ul>
<?php
foreach ($_GET['animals'] as $animal) {
?>
<li><?php print htmlspecialchars($animal); ?></li>
<?php
}
?>
</ul>
<?php
}
?>
Risposto il 16/08/2009 a 23:15
fonte dall'utente

voti
1

Utilizzare un nome di matrice per tutte le caselle dello stesso gruppo, ad esempio name = "mycheckboxes []". In questo modo si otterrà un array contenente l'elenco delle caselle di controllo selezionate nel codice php

Risposto il 16/08/2009 a 23:15
fonte dall'utente

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more