как я могу получить несколько значений флажков в 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 />"; }