¿Cómo leer si una casilla de verificación está marcada en PHP?
¿Cómo leer si una casilla de verificación está marcada en PHP?
Si su página HTML se ve así:
<input type="checkbox" name="test" value="value1">
Después de enviar el formulario podrás comprobarlo con:
isset($_POST['test'])
o
if ($_POST['test'] == 'value1') ...
Zend Framework usa un buen truco para las casillas de verificación, que también puedes hacer tú mismo:
Cada casilla de verificación generada está asociada a un campo oculto del mismo nombre, colocado justo antes de la casilla de verificación, y con un valor de "0". Luego, si su casilla de verificación tiene el valor "1", siempre obtendrá el valor '0' o '1' en el GET o POST resultante.
<input type="hidden" name="foo" value="0" />
<input type="checkbox" name="foo" value="1">
Cuando se utilizan casillas de verificación como una matriz:
<input type="checkbox" name="food[]" value="Orange">
<input type="checkbox" name="food[]" value="Apple">
Deberías usar in_array()
:
if(in_array('Orange', $_POST['food'])){
echo 'Orange was checked!';
}
Recuerde verificar primero que la matriz esté configurada, como por ejemplo:
if(isset($_POST['food']) && in_array(...
Deje que su html para su casilla de verificación sea como
<input type="checkbox" name="check1">
Luego, después de enviar su formulario, debe marcar como
if (isset($_POST['check1'])) {
// Checkbox is selected
} else {
// Alternate code
}
Suponiendo que ese check1
debería ser el nombre de su casilla de verificación. Y si su método de envío de formulario es GET
entonces debe verificar con $_GET
variables como
if (isset($_GET['check1'])) {
// Checkbox is selected
}