PDA

View Full Version : [PHP] checkbox array ??


athebustop
08-07-2004, 14:44
come vengono trattati i checkbox passati a PHP attraverso un form?

per esempio
da un file cosė

...
<FORM METHOD="post" ACTION="action.php">
<INPUT NAME="colore" TYPE="checkbox" VALUE="rosso">
<INPUT NAME="colore" TYPE="checkbox" VALUE="verde">
<INPUT NAME="colore" TYPE="checkbox" VALUE="blu">
<INPUT TYPE="submit">
</FORM>
...

come viene trattato l'array "colore" passato al file action.php supponendo di voler scrivere l'elenco delle voci selezionate?

kniv7s
08-07-2004, 14:49
In giro ho sentito che arrivano come array multidimensionale

$_POST['variabile'][0]
$_POST['variabile'][1]

ma non ne sono sicuro...
fammi sapere :)

ciao

athebustop
08-07-2004, 14:54
ho provato.. se faccio

echo sizeof($HTTP_POST_VARS['colore']);

se ne seleziono NESSUNA mi da 0
se ne seleziono UNA mi da 1
se ne selezioni PIU DI UNA mi da sempre 1

perchč??

kniv7s
08-07-2004, 15:02
0 = vuoto = false
1 = non vuoto = true

athebustop
08-07-2004, 15:07
allora come si fa a fare un ciclo che scriva tutti gli elementi selezionati????

kniv7s
08-07-2004, 15:09
se ho capito bene prova cosė

<FORM METHOD="post" ACTION="action.php">
<INPUT NAME="colore[]" TYPE="checkbox" VALUE="rosso">
<INPUT NAME="colore[]" TYPE="checkbox" VALUE="verde">
<INPUT NAME="colore[]" TYPE="checkbox" VALUE="blu">
<INPUT TYPE="submit">
</FORM>

athebustop
08-07-2004, 17:33
funziona perfettamente

<INPUT TYPE="checkbox" NAME="colore[]" VALUE="rosso">
...
...

for ($i=0; $i < sizeof($HTTP_POST_VARS['colore']); $i++)
{
echo $HTTP_POST_VARS['colore'][$i]."<BR>";
}

grazie1000

kniv7s
08-07-2004, 18:07
di nulla
buon lavoro :)