我是PHP codeigniter的新手,
如何在Controller中使用php Codeigniter获取复选框值。
这是Checkboxes,我想在控制器中使用post menthod获取基于名称的复选框值作为“businessType”。
<input type="checkbox"name="businessType" value="1">
<input type="checkbox"name="businessType" value="2">
<input type="checkbox"name="businessType" value="3">
请建议
感谢
答案 0 :(得分:38)
<input type="checkbox" name="businessType[]" value="1">
<input type="checkbox" name="businessType[]" value="2">
<input type="checkbox" name="businessType[]" value="3">
做$data = $this->input->post('businessType');
您应该看到$ data是一个数组,并显示不同的值。尝试执行var_dump($data);
以查看数组中的内容。
答案 1 :(得分:7)
如果一次只能选择其中一个复选框,则应使用一组单选按钮(type="radio"
)。我认为这是你要做的,因为所有输入的name
都是相同的。
要获取复选框或单选按钮组的值,请使用:
$this->input->post('businessType')
编辑:
如果您真的想要复选框,则需要将它们命名为不同的名称:
<input type="checkbox"name="businessType1" value="1">
<input type="checkbox"name="businessType2" value="2">
<input type="checkbox"name="businessType3" value="3">
然后使用与之前相同的post方法:
$this->input->post('businessType1') //the first checkbox's value
$this->input->post('businessType2') //the second
$this->input->post('businessType3') //the third
答案 2 :(得分:7)
在每个名字后面加上大括号。给每个人一个独特的价值:
<input type="radio" name="businessType[]" value="1">
<input type="radio" name="businessType[]" value="2">
<input type="radio" name="businessType[]" value="3">
让他们这样:
substr(implode(', ', $this->input->post('businessType')), 0)
答案 3 :(得分:-1)
正如dvcolgan(+1)建议的那样,你应该使用单选按钮,这是一个包含在字段集中的例子。
您的HTML
<fieldset>
<legend>Choose Business Type:</legend><br>
<input type="radio" name="businessType" value="1">
<input type="radio" name="businessType" value="2">
<input type="radio" name="businessType" value="3">
</fieldset>
然后在你的php中
$businessType = $this->input->post("businessType");