¿Cómo leer si una casilla de verificación está marcada en PHP?

Resuelto Thew asked hace 54 años • 21 respuestas

¿Cómo leer si una casilla de verificación está marcada en PHP?

Thew avatar Jan 01 '70 08:01 Thew
Aceptado

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') ...
m_vitaly avatar Dec 29 '2010 14:12 m_vitaly

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"> 
regilero avatar Dec 29 '2010 15:12 regilero

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(...
rybo111 avatar Nov 04 '2013 16:11 rybo111

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 check1debería ser el nombre de su casilla de verificación. Y si su método de envío de formulario es GETentonces debe verificar con $_GETvariables como

if (isset($_GET['check1'])) {

   // Checkbox is selected
} 
GautamD31 avatar Aug 17 '2012 11:08 GautamD31