2010-11-06 2 views
2

Я ломаю голову. Я использую CodeIgniter, пытаясь получить значение из флажка формы в массив данных для отправки в базу данных. Вот отрывки:CodeIgniter: Получение данных из массива формы в массив post

Форма (вид):

<label>Rental Car?</label><input type="checkbox" name="options[is_rental]" value="1" <?php echo set_checkbox('options[is_rental]', '1', FALSE); ?> /> 

Контроллер:

$data['is_rental'] = $this->input->post('options[is_rental]'); 

Теперь во время этого процесса я также проверяющего и вновь заселять форму с использованием данных options [is_rental], и это работает отлично. Использование var_dump я получаю:

Сбрасывает (с галочкой) от контроллера:

var_dump($this->input->post('options[is_rental]')) 

Возвращает

bool(false) 

и ...

var_dump($this->input->post('options')) 

Возвращает

array(3) { ["engine"]=> string(4) "4cyl" ["transmission"]=> string(9) "automatic" ["is_rental"]=> string(1) "1" } 

Для чего я не могу получить эти другие значения в массиве.

ответ

8

Почему бы не просто сделать:

$ данных = $ this-> вход-> пост ('Параметры');

Тогда $ данных [ 'is_rental'] должен == 1

+0

Это работает, хотя мне все же хотелось бы знать, почему это не сработало, вытаскивая отдельные элементы из этого массива. – mdvaldosta

+0

Я не думаю, что вы можете сделать: $ this-> input-> post ('options [is_rental]') в CI. – phirschybar

0

Я заметил то же самое с CodeIgniter. Если вы передадите индекс правилу проверки формы, он работает нормально, но чтобы получить данные в другой var, вам нужно сначала поместить массив сообщений в временную переменную, а затем получить доступ к этому индексу. Вы не можете получить доступ к индексам в массиве POST с помощью $ this-> input-> post

Смежные вопросы