如何在数据库中发送复选框值1或0?

时间:2016-02-10 13:04:50

标签: php mysql codeigniter

<input type="checkbox" name="chkbx" value="true" checked>

$data['active'] = $this->input->post('active');

        if($data['active'] ==  true){
            echo $data['active'] = 1 ;
        }
        else{
            echo $data['active'] = 0 ;
        }

它总是在数据库中放入0值。我无法理解。
请帮我解决这个问题。

3 个答案:

答案 0 :(得分:1)

  

复选框仅在选中时发布。

使用isset()

使用正确的复选框名称。

$data['active'] = $this->input->post('chkbx');
if (isset($data['active'])) {
 echo $data['active'] = 1;
}
else {
 echo $data['active'] = 0;
}

答案 1 :(得分:0)

根据文档&#34;使用提供的函数而不是直接获取项目的主要优点($ _POST [&#39;某些&#39;])是函数将检查项目是否是设置并返回false(布尔值),如果不是&#34;。

尝试使用

if($data['active'] !==  false){

        // Check box value is set check its value and insert in DB here
    }
    else{
       // Check box not set you can have your fall back method
    }

答案 2 :(得分:0)

您的复选框名称name="chkbx"$this->input->post('active')不同。使用相同并检查。