获取复选框的多个值

时间:2011-06-04 05:11:29

标签: php codeigniter

如何使用此代码在codeigniter中获取多个复选框值

<input type="checkbox" name="assign[]" value="Keyur">&nbsp;Keyur<br/>
        <input type="checkbox" name="assign[]" value="Ritesh">&nbsp;Ritesh<br/>
        <input type="checkbox" name="assign[]" value="Saurabh">&nbsp;Saurabh<br/>
        <input type="checkbox" name="assign[]" value="Maulik">&nbsp;Maulik<br/>

在控制器

$data1 = $this->input->post('assign[]');

我这样做但却无法获得价值,我犯了错误????

3 个答案:

答案 0 :(得分:6)

使用此:

$this->input->post('assign');

它将是一个数组,与$_POST['assign']相同。

示例:

// This assumes we know the post key is set and is an array,
// but you should definitely check first
foreach ($this->input->post('assign') as $key => $value)
{
    echo "Index {$key}'s value is {$value}.";
}

不幸的是,如果您需要访问特定索引,则必须先将其分配给变量,或使用$_POST而不是$this->input->post()。例如:

$assign = $this->input->post('assign');
echo $assign[0]; // First value
echo $_POST['assign'][0]; // First value

更新:从PHP 5.4开始,您可以直接从函数调用访问索引,如下所示:

$this->input->post('assign')[0];

不是推荐或更好,但只是让你知道它是可能的。

无论哪种方式,请确保在尝试访问之前设置了索引的数据如果,则需要这样做)。

答案 1 :(得分:3)

在你的控制器中试试这个:

$data1 = $this->input->post('assign'); //this returns an array so use foreach to extract data

foreach( $data1 as $key => $value){

       echo $value.' '."</br>";

}

我已经对我的程序做了这件事并且有效。

答案 2 :(得分:1)

试试这个:

for($i = 0; $i< count($_POST['assign']); $i++){
    echo $_POST['assign'][$i] . "<br />";
}