<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值。我无法理解。
请帮我解决这个问题。
答案 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')
不同。使用相同并检查。