【问题标题】:CodeIgniter: Getting data from form array into post arrayCodeIgniter:将数据从表单数组获取到后数组
【发布时间】:2010-11-06 23:23:25
【问题描述】:

我绞尽脑汁。我正在使用 CodeIgniter,试图从表单复选框中获取一个值到一个数据数组中以发送到数据库。这是sn-ps:

表格(视图):

<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" }

对于它的价值,我也无法获取数组中的其他值。

【问题讨论】:

    标签: php arrays codeigniter post


    【解决方案1】:

    为什么不直接做:

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

    那么 $data['is_rental'] 应该 == 1

    【讨论】:

    • 这行得通,但我仍然想知道为什么从该数组中拉出单个项目时它不起作用。
    • 我认为你还不能在 CI 中做:$this->input->post('options[is_rental]')。
    【解决方案2】:

    我注意到 CodeIgniter 也有同样的事情。如果将索引传递给表单验证规则,它可以正常工作,但要将数据放入另一个 var,您需要先将 post 数组放入临时变量,然后访问该索引。您无法使用 $this->input->post

    访问 POST 数组的索引

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-31
      • 1970-01-01
      • 1970-01-01
      • 2018-06-05
      • 2016-09-24
      • 2019-04-13
      相关资源
      最近更新 更多