问题描述
|
我如何使用此代码在codeigniter中获得多个复选框值
<input type=\"checkBox\" name=\"assign[]\" value=\"Keyur\"> Keyur<br/>
<input type=\"checkBox\" name=\"assign[]\" value=\"Ritesh\"> Ritesh<br/>
<input type=\"checkBox\" name=\"assign[]\" value=\"Saurabh\"> Saurabh<br/>
<input type=\"checkBox\" name=\"assign[]\" value=\"Maulik\"> Maulik<br/>
在控制器处
$data1 = $this->input->post(\'assign[]\');
我这样做但无法获取价值,我在哪里犯错???
解决方法
用这个:
$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];
并非建议这样做或更好,但这只是为了让您知道它是可能的。
无论哪种方式,在尝试访问它们之前,请确保已设置发布数据和索引(如果需要这样做)。
, 在您的控制器中尝试以下一项:
$data1 = $this->input->post(\'assign\'); //this returns an array so use foreach to extract data
foreach( $data1 as $key => $value){
echo $value.\' \'.\"</br>\";
}
我已经对我的程序执行了此操作,并且它起作用了。
, 尝试这个:
for($i = 0; $i< count($_POST[\'assign\']); $i++){
echo $_POST[\'assign\'][$i] . \"<br />\";
}