Как мне увидеть, какой флажок установлен?
Как мне проверить в PHP, проверен ли checkbox
или нет?
5 answers
Если флажок установлен, то значение флажка будет передано. В противном случае поле не передается в HTTP-сообщении.
if (isset($_POST['mycheckbox'])) {
echo "checked!";
}
Вы можете проверить, установлен ли флажок погоды isset()
или empty()
(его явный флажок установлен) или нет
Например
<input type='checkbox' name='Mary' value='2' id='checkbox' />
Здесь вы можете проверить по
if (isset($_POST['Mary'])) {
echo "checked!";
}
Или
if (!empty($_POST['Mary'])) {
echo "checked!";
}
Вышеизложенное проверит только один, если вы хотите сделать это для многих, чем вы можете сделать массив вместо того, чтобы писать отдельно для всех, установите флажок, попробуйте, как
<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] ). " ";
}
}
Попробуйте это
<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.";
}
?>
Или это
<?php
if(isset($_POST['like']) &&
$_POST['like'] == 'Yes')
{
echo "You like Stackoverflow.";
}
else
{
echo "You don't like Stackoverflow.";
}
?>
Если вы не знаете, какие флажки установлены на вашей странице (например, если вы создаете их динамически), вы можете просто поместить скрытое поле с тем же именем и значением 0 прямо над флажком.
<input type="hidden" name="foo" value="0" />
<input type="checkbox" name="foo" value="1">
Таким образом, вы получите 1 или 0 в зависимости от того, установлен флажок или нет.
Я так люблю короткие руки:
$isChecked = isset($_POST['myCheckbox']) ? "yes" : "no";