Figura în care casetele de selectare au fost selectate într-o formă în php

voturi
1

Am o forma cu mai multe casete de selectare. Când am transmite o altă pagină php, mă întrebam: Cum pot spune care dintre ele sunt verificate fără a apela isset pe fiecare nume casetă de selectare? (În cazul în care există o cale). Dacă aș da fiecare dintre casetele de același nume, atunci numai ultima caseta selectată este returnat.

Mulțumesc,
Michael

Întrebat 16/08/2009 la 23:12
sursa de către utilizator
În alte limbi...                            


2 răspunsuri

voturi
5

Un capriciu de PHP cere ca controalele formular se încheie numele lor cu caractere []pentru ca mai mult de una dintre ele să fie recunoscute.

<!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
}
?>
Publicat 16/08/2009 la 23:15
sursa de către utilizator

voturi
1

Utilizați un nume de matrice pentru toate casetele din același grup, de exemplu name = „mycheckboxes []“. În acest fel veți obține o matrice care conține lista casete de selectare selectate în codul php

Publicat 16/08/2009 la 23:15
sursa de către utilizator

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