Comment puis-je vérifier PHP si un checkbox
est coché ou non?
Si la case à cocher est cochée, la valeur de la case à cocher sera transmise. Sinon, le champ n'est pas transmis dans la publication HTTP.
if (isset($_POST['mycheckbox'])) {
echo "checked!";
}
vous pouvez vérifier que la case à cocher météo isset()
ou empty()
(vérification de son isset explicite) est cochée ou non
par exemple
<input type='checkbox' name='Mary' value='2' id='checkbox' />
ici vous pouvez vérifier par
if (isset($_POST['Mary'])) {
echo "checked!";
}
ou
if (!empty($_POST['Mary'])) {
echo "checked!";
}
ce qui précède n'en coche qu'un seul si vous voulez faire plusieurs que vous pouvez créer un tableau à la place en écrivant séparément pour toutes les cases à cocher essayez 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] ). " ";
}
}
Essaye ça
index.html
<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>
form.php
<html>
<head>
</head>
<body>
<?php
if(isset($_POST['like']))
{
echo "<h1>You like Stackoverflow.<h1>";
}
else
{
echo "<h1>You don't like Stackoverflow.</h1>";
}
?>
</body>
</html>
Ou ca
<?php
if(isset($_POST['like'])) &&
$_POST['like'] == 'Yes')
{
echo "You like Stackoverflow.";
}
else
{
echo "You don't like Stackoverflow.";
}
?>
Si vous ne connaissez pas les cases à cocher de votre page (par exemple, si vous les créez de manière dynamique), vous pouvez simplement mettre un champ masqué avec le même nom et la même 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.
J'aime les mains courtes alors:
$isChecked = isset($_POST['myCheckbox']) ? "yes" : "no";