PHP形成一个复选框

时间:2013-02-20 05:49:34

标签: php forms checkbox

我遇到了一个我觉得很困惑的问题。我有一个带有一个复选框的表单。如果选中复选框,我需要表单应用值1或0。

<input type="checkbox" name="admin">

那么PHP就是这样的:

$update_data['admin'] = isset($_POST['admin']) ? '1' : '0';

如果选中它,它会起作用。我不确定如何进入“关闭”状态。

6 个答案:

答案 0 :(得分:1)

需要更改PHP代码

$update_data['admin'] = empty($_POST['admin']) ? '0' : '1';

isset()仅检查值是否设置,即Null或Not。在你的情况下,它设置为ZERO

另一方面,

为空,检查两个值是否设置为null,如果其中任何一个为true,则值为零,然后返回true。

和HTML

<input type='checkbox' value ='1' name='admim'>

答案 1 :(得分:1)

如果提交的复选框没有值,则从$ _POST ['admin']检索时,其值为“on”。我猜你也可以做

$update_data['admin'] = ($_POST['admin'] === 'on') ? '1' : '0';

答案 2 :(得分:0)

检查是否使用isset定义了某些内容与获取其值不同。试试这个:

 <input type="checkbox" name="admin" value="checked_or_whatever_value_you_like">
 if(isset($_POST['admin'])){
     $update_data['admin'] = $_POST['admin'] == 'checked_or_whatever_value_you_like' ? '1' : '0';
 }

答案 3 :(得分:0)

一切都应该按预期工作:)

只是为了确保提交的内容:

管理员

如果未选中复选框,则值(及其键)将不会传递给查询字符串。

所以,检查

If (isset($_POST['submit'])){
  $update_data['admin'] = isset($_POST['admin']) ;
  //actions if form has been submitted.
}

答案 4 :(得分:0)

它似乎与我合作,这是我的示例代码:

<form action="" method="POST">
    <input type="checkbox" name="admin">
    <input type="submit">
</form>
<?php 
    $check = isset($_POST['admin']) ? '1' : '0';
    echo $check;
    var_dump($check);
?>

当你选中复选框时会产生1个字符串(1)“1”,如果未选中则会产生0字符串(1)“0”。

答案 5 :(得分:0)

我在另一篇文章中找到了answer。用:

$update_data['admin'] = ($_POST['admin'] == 1) ? '1' : '0';