valores Casilla se presentan de una forma sólo si se selecciona la casilla de verificación. Además, es el atributo de nombre que cuenta, no el ID.
Hay varias maneras de manejar casillas de verificación en PHP:
- dará todas casillas de verificación del mismo nombre seguido por un par de soportes cuadrados, por lo que todo el conjunto se trata como una matriz. En este caso, otorgue a cada casilla de verificación un valor.
- Otorgue a cada casilla de verificación un nombre y un valor diferentes.
- Otorgue a cada casilla de verificación un nombre diferente, pero ningún valor.
En cada caso, debe verificar la existencia del nombre de la casilla de verificación en la matriz $ _POST.
Por ejemplo:
<input type="checkbox" name="color[]" id="orange" value="orange">
<input type="checkbox" name="color[]" id="apple" value="apple">
Para obtener los valores de estas casillas de verificación:
if (isset($_POST['color'])) {
$colors = $_POST['color'];
// $colors is an array of selected values
}
Sin embargo, si cada casilla tiene un nombre diferente y un valor explícito de esta manera:
<input type="checkbox" name="orange" id="orange" value="orange">
<input type="checkbox" name="apple" id="apple" value="apple">
Aún necesita usar isset():
if (isset($_POST['orange'])) {
// orange has been set and its value is "orange"
}
Si no establece un valor, el valor predeterminado es "on", pero no estará en la matriz $ _POST a menos que se haya seleccionado, por lo que todavía necesita usar isset().
Si simplemente los nombra igual, esto no funcionará. Debe configurarlos como matrices: 'name =" selection [index] "' –
ha solucionado el problema. También creo que puedes omitir el índice y se indexarán automáticamente. –
Sí, podría hacer eso también, sin embargo, pidió específicamente preservar el atributo "nombre". El índice podría sustituir eso. –