2009-12-30 19 views

Respuesta

33

hacer algo como esto:

<input type="checkbox" name="checkboxArray[]" /> 

Nota del [] en el nombre.

+11

+1 Gran respuesta. @unknown Solo recuerda que si ninguno de ellos está marcado, el campo ni siquiera se enviará, lo que hará que falle el 'foreach'. Asegúrese de probar 'isset ($ _ POST ['checkboxname'])' antes del 'foreach'. –

12

De esta manera:

<input type="checkbox" name="checkboxname[]" /> 
<input type="checkbox" name="checkboxname[]" /> 
<input type="checkbox" name="checkboxname[]" /> 
<input type="checkbox" name="checkboxname[]" /> 
<input type="checkbox" name="checkboxname[]" /> 

Sólo anexar [] a sus nombres.

+2

¡¡¡Hay un pequeño problema !! si marque la 5ta casilla de verificación debería ser algo como 'Array ([4] => on)' pero mostrará 'Array ([0] => on)' por qué debería agradecer valores como 'checkboxname [1] 'y' checkboxname [2] '??? –

1

para aquellos elementos de formulario HTML que pueden enviar múltiples valores al servidor (como casillas de verificación o cuadros de selección múltiples), debe usar una matriz como el nombre para su nombre de elemento HTML. de esta manera:

<input type="checkbox" name="checkboxname[]" /> 

También se recomienda que utilice un enctype "multipart/form-data" para su elemento de formulario.

<form enctype="multipart/form-data" action="target.php" method="post"> 

Luego, en sus scripts PHP puede acceder a los datos de valores múltiples como una matriz, como usted quería.

+0

Parece 'enctype' innecesario. – user198729

3

Si utiliza una matriz para las casillas de verificación, debe agregar una opción de valor como identificador para las casillas de verificación individuales, porque la matriz devuelta cambia de Array ([0] => on, [1] => on) a Matriz ([0] => valor1, [1] => valor5), que le permite identificar las casillas marcadas.

Cuestiones relacionadas