Codeigniter检索已选中复选框的值

时间:2014-12-21 14:45:48

标签: php codeigniter checkbox

我正在开发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;
        }
*/

    }

1 个答案:

答案 0 :(得分:1)

您应该使用数组来命名复选框。您使用循环生成复选框&amp;使用相同的名称。为此你只得到最后一个值。

echo '<input type="checkbox" value="' . $val . '" name="chk_group[]">' . $val;