2010-11-06 76 views
10

使用PHP笨复选框值是新来的PHP笨,我如何让控制器

如何获取复选框的值在控制器使用PHP笨。

这里是复选框,我想获取基于名称的复选框值作为控制器中的“businessType”使用postmenthod。

<input type="checkbox"name="businessType" value="1"> 
<input type="checkbox"name="businessType" value="2"> 
<input type="checkbox"name="businessType" value="3"> 

请建议

感谢

回答

37
<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');

您应该看到$的数据是一个数组,并显示出不同VA梅毒。试着做var_dump($data);看看阵列里面有什么。每个名称后

var_dump()

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"> 

然后采用相同的柱的方法之前:

$this->input->post('businessType1') //the first checkbox's value 
$this->input->post('businessType2') //the second 
$this->input->post('businessType3') //the third 
+0

但与此帮助,我将如何获得多个选择值? – Vicky 2010-11-08 10:24:46

+0

啊,如果你真的想要得到多个值,你需要为每个复选框使用不同的名称。往上看。 – davidscolgan 2010-11-08 12:30:06

+0

这种方法将使得使用动态生成的复选框非常困难。为什么不使用@tpae建议的方法? – aphoe 2014-10-23 23:21:49

-1

由于dvcolgan(+1)的建议,单选按钮是你应该使用的,这里是一个封装在fieldset中的例子。

你的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"); 
+0

但在这种帮助下,我将如何获得多个选择值? – Vicky 2010-11-08 10:24:24

6

戴上牙套。各举一个独特的价值:

<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)