Как мне увидеть, какой флажок установлен?


Как мне проверить в PHP, проверен ли checkbox или нет?

Author: NullPoiиteя, 2010-02-16

5 answers

Если флажок установлен, то значение флажка будет передано. В противном случае поле не передается в HTTP-сообщении.

if (isset($_POST['mycheckbox'])) {
    echo "checked!";
}
 67
Author: Tomas Markauskas, 2013-08-13 18:23:29

Вы можете проверить, установлен ли флажок погоды 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] ). " ";
    }
  }
 29
Author: NullPoiиteя, 2014-11-02 11:16:57

Попробуйте это

<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.";
    }   
?>
 7
Author: Michael B., 2010-02-22 19:17:08

Если вы не знаете, какие флажки установлены на вашей странице (например, если вы создаете их динамически), вы можете просто поместить скрытое поле с тем же именем и значением 0 прямо над флажком.

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

Таким образом, вы получите 1 или 0 в зависимости от того, установлен флажок или нет.

 5
Author: Can Celik, 2015-07-24 04:02:29

Я так люблю короткие руки:

$isChecked = isset($_POST['myCheckbox']) ? "yes" : "no";
 1
Author: Omidoo, 2017-07-17 21:00:51