Comment puis-je voir quelle case est cochée?

Comment puis-je vérifier en PHP si un checkbox est cochée ou pas?

44
demandé sur NullPoiиteя 2010-02-16 00:04:53
la source

5 ответов

Si la case est cochée, la case de valeur sera passée. Sinon, le champ N'est pas passé dans le POST HTTP.

if (isset($_POST['mycheckbox'])) {
    echo "checked!";
}
67
répondu Tomas Markauskas 2013-08-13 22:23:29
la source

vous pouvez le vérifier en soit isset() ou empty() (sa vérification explicite isset) météo case à cocher est cochée ou non

par exemple

  <input type='checkbox' name='Mary' value='2' id='checkbox' />

ici vous pouvez le vérifier par

if (isset($_POST['Mary'])) {
    echo "checked!";
}

ou

if (!empty($_POST['Mary'])) {
    echo "checked!";
}

ce qui précède ne coche qu'un si vous voulez faire pour beaucoup de choses que vous pouvez faire un tableau au lieu d'écrire séparément pour toutes les cases à cocher essayer comme

<input type="checkbox" name="formDoor[]" value="A" />Acorn Building<br />
<input type="checkbox" name="formDoor[]" value="B" />Brown Hall<br />
<input type="checkbox" name="formDoor[]" value="C" />Carnegie Complex<br />

php

  $aDoor = $_POST['formDoor'];
  if(empty($aDoor))
  {
    echo("You didn't select any buildings.");
  }
  else
  {
    $N = count($aDoor);
    echo("You selected $N door(s): ");
    for($i=0; $i < $N; $i++)
    {
      echo htmlspecialchars($aDoor[$i] ). " ";
    }
  }
29
répondu NullPoiиteя 2014-11-02 14:16:57
la source

Essayez ceci

<form action="form.php" method="post">
    Do you like stackoverflow?
    <input type="checkbox" name="like" value="Yes" />
 <input type="submit" name="formSubmit" value="Submit" />
</form>
<?php
    if(isset($_POST['like'])
    {
        echo "You like Stackoverflow.";
    }
    else
    {
        echo "You don't like Stackoverflow.";
    }   
?>

Ou

<?php
    if(isset($_POST['like']) && 
    $_POST['like'] == 'Yes') 
    {
        echo "You like Stackoverflow.";
    }
    else
    {
        echo "You don't like Stackoverflow.";
    }   
?>
7
répondu Michael B. 2010-02-22 22:17:08
la source

si vous ne savez pas quelles cases votre page a (ex: si vous les Créez dynamiquement) vous pouvez simplement mettre un champ caché avec le même nom et la valeur 0 juste au-dessus de la case à cocher.

<input type="hidden" name="foo" value="0" />
<input type="checkbox" name="foo" value="1">

de Cette façon, vous obtiendrez 1 ou 0 selon que la case est cochée ou non.

5
répondu Can Celik 2015-07-24 07:02:29
la source

j'adore courte mains donc:

$isChecked = isset($_POST['myCheckbox']) ? "yes" : "no";
1
répondu Omidoo 2017-07-18 00:00:51
la source

Autres questions sur php html input checkbox checked