#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 />";
}