Как проверить на PHP ли checkbox
установлен или нет?
Если флажок установлен, то значение флажка будет передано. В противном случае поле не передается в HTTP-сообщении.
if (isset($_POST['mycheckbox'])) { echo "checked!"; }
вы можете проверить, установлен ли флажок isset()
или empty()
(его проверка явно isset), или нет
например
<input type='checkbox' name='Mary' value='2' id='checkbox' />
здесь вы можете проверить
if (isset($_POST['Mary'])) { echo "checked!"; }
или
if (!empty($_POST['Mary'])) { echo "checked!"; }
выше будет проверяться только одно, если вы хотите сделать для многих, чем вы можете сделать массив вместо написания отдельных для всех checkbox try like
<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";