РЕДАКТИРОВАТЬ: Я только что поймал это:
У вас есть вложенные теги <form>
, которые недопустимы и склонны к непредвиденному поведению, вы должны исправить это в первую очередь (высокий приоритет). Я не могу сказать, какое из них вам нужно удалить, потому что я не знаю ваше приложение, но похоже, что те, которые внутри foreach
не должны быть там, иначе вам не нужно было бы публиковать массив значения.
В любом случае, предполагая, что не дело ...
Если это ваш код:
foreach ($this->input->post('userdelete') as $row){
$deleteWhat = $row;
}
Затем $deleteWhat
в каждой итерации содержит опубликованную строку, независимо от того, что было в value
этого флажка.
Этот является массивом:
$this->input->post('userdelete')
Содержит все, что было отправлено с form_checkbox('userdelete[]', $user['id'])
Ваш код работает нормально.
Просто запомните несколько вещей:
<input name="somename[]">
будет публиковаться как массив значений из-за квадратных скобок.
$_POST['somename']
равно $this->input->post('somename')
, за исключением случаев, когда значение не установлено (первое генерирует уведомление о неопределенной переменной, второе возвращает FALSE
)
- Вы можете указать такие ключи как:
<input name="somename[hello]">
<input name="somename[hello][]">
опубликует массив массивов и т. Д.
- Флажки вообще ничего не публикуют, если они не отмечены.