Codeigniter修改POST

时间:2012-10-01 18:26:12

标签: php codeigniter

我使用一个视图来添加/编辑数据库数据:

<input name="blah" id="blah" value="<? set_selected('blah')?> />

在我的编辑器中进行编辑,我这样做:

$_POST['blah'] = 'DB value';
$this->load->view('...');

但输入字段为空白。我希望输入预先填充我的编辑案例。

3 个答案:

答案 0 :(得分:2)

CI视图可以将数据数组作为第二个参数,如其他人所提到的那样。

http://codeigniter.com/user_guide/general/views.html

我不喜欢设置$ _POST数组然后将其作为数据数组传递的想法。 $ _POST应该只用于从UI表单传递的值。由于您无论如何都必须手动设置$ _POST数组,因此您也可以使用单独的数组对象。我会创建一个包含所有设置值的数组。即array('blah'=&gt; $ dbvalue);并传递而不是预先填充的$ _POST数组。

其次,您的示例代码使用'set_selected()'。该函数是'set_select()',用于选项标记。所以这行代码存在两个问题。它需要

 <input .... value="set_value('blah')" />

 <option ....value="v1" "set_select('blah', 'v1')">

答案 1 :(得分:1)

你需要传递$ _POST来查看,发布的数据应该从控制器传递到视图加载函数的第二个参数中的视图。 试试这个

   $this->load->view('content', $_POST);

答案 2 :(得分:1)

无论你传递给视图的是什么,都会变成一个实际的变量。所以你的代码就是。

<input name="blah" id="blah" value="<?php echo $blah; ?> />
$_POST['blah'] = 'DB value';
$this->load->view('...', $_POST);