получить несколько значений флажка

#php #codeigniter

#php #codeigniter

Вопрос:

как я могу получить несколько значений флажка в codeigniter с помощью этого кода

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

в контроллере

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

я делаю это, но не могу получить значения, где я допускаю ошибку????

Ответ №1:

Используйте это:

 $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];
  

Не то чтобы это рекомендовано или лучше, но просто чтобы вы знали, что это возможно.

В любом случае, убедитесь, что данные post и индекс установлены, прежде чем пытаться получить к ним доступ (если вам нужно сделать это таким образом).

Ответ №2:

Попробуйте это, в вашем контроллере:

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

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

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

}
  

Я сделал это в своей программе, и это сработало.

Ответ №3:

попробуйте это:

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