我正在开发form application
。在表单内部有文本框,textarea,复选框复选框根据数组填充。我将所有表单值传递给控制器。文本框的值,texarea正确打印。问题是只有打印last value of checked checkbox
。如何打印所有选中的框值。请帮助我&请找到我使用的代码。
askQuestion.php(查看)
<?php echo form_open('homepage/test'); ?>
<p>
<div>
<div class="form-group">
Question Title:<br/>
<input type="text" value="" name="">
</p>
<div>
<div class="form-group">
<p>
Description: <br/>
<textarea name="decription" rows="5" cols="100"> </textarea>
</p>
<?php
$chk_group =array('1' => 'red',
'2' => 'aa',
'3' => 'bb',
'4' => 'cc',
'5' => 'dd'
);
var_dump($chk_group);
for ($i=1 ; $i<=count($chk_group);$i++)
{
$val =$chk_group[$i];
echo "<br>";
echo '<input type="checkbox" value="' . $val . '" name="chk_group">' . $val;
echo "</br>";
}
?>
</div>
<div class="form-group">
Declare new Tags:<br/>
<input type="text" value="" name="tag">
</p>
</div>
<p>
<input type="submit" class="btn btn-success btn-block" value="Post Your Question" id="postQuestion">
</p>
<?php echo form_close();?>
homepage.php(控制器)
public function test() {
echo "test";
$name = $this->input->post('tag');
print_r($name);
$des = $this->input->post('decription');
print_r($des);
$data = $this->input->post('chk_group');
var_dump($data);
/* foreach ($this->input->post('chk_group') as $r) {
echo $r;
}
*/
}
答案 0 :(得分:1)
您应该使用数组来命名复选框。您使用循环生成复选框&amp;使用相同的名称。为此你只得到最后一个值。
echo '<input type="checkbox" value="' . $val . '" name="chk_group[]">' . $val;