2014-12-21 2 views
0

Im develop form application. Внутри формы есть поля с текстовыми полями, textarea, checkboxes, которые заполняются в соответствии с массивом. и я передаю все значения формы контроллеру. Значения текстовых полей, техарея печатаются правильно. Проблема в том, что напечатаны только last value of checked checkbox. как напечатать все отмеченные значения поля. пожалуйста, помогите мне &, пожалуйста, найдите код, который я использовал.Codeginiter, возвращающие значения check 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

Вы должны использовать массив назвать флажки. Вы использовали цикл для создания флажков & использовали одно и то же имя для всех. Для этого вы получили только последнее значение.

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

user3583142 да это работает спасибо чувак, я проголосовал – VenushkaT

+0

Рад помочь. Добро пожаловать :) – MH2K9