我正在尝试将数据从表单保存到数据库中,但我不能这样做......不知道为什么。我想打印变量,看看变量是否通过post传递。如何回显通过post传递的变量和where。我是MVC模型的新手 所以在我看来,我(在表格内):
<td>
<input size="15" type="text" name="val1" id="val1" class="text" value="<?= isset($user) ? set_value('val1',$this->form_validation->val1) : set_value('val1'); ?>"/>
<?= form_error('val1');?>
</td>
<td>
<input size="15" type="text" name="val2" id="val2" class="text" value="<?= isset($user) ? set_value('val2',$this->form_validation->val2) : set_value('val2'); ?>"/>
<?= form_error('val2');?>
</td>
<td>
<input size="15" type="text" name="val3" id="val3" class="text" value="<?= isset($user) ? set_value('val3',$this->form_validation->val3) : set_value('val3'); ?>"/>
<?= form_error('val3');?>
</td>
然后在我的控制器中:
if($this->input->post('val3')!=''){
$data = array(
'id_val' => $id,
'pass' => $this->input->post('oldVal'),
'newPass'=> $this->input->post('newVal'),
'user' => $this -> session ->userdata('username')
);
$id_m = $this->val3_model->save($data);
}
if($this->input->post('val1')!=''){
$data = array(
'id_val' => $id,
'pass' => $this->input->post('oldVal'),
'newPass'=> $this->input->post('newVal'),
'user' => $this -> session ->userdata('username')
);
$id_m = $this->val1_model->save($data);
}
if($this->input->post('val2')!=''){
$data = array(
'id_val' => $id,
'pass' => $this->input->post('oldVal'),
'newPass'=> $this->input->post('newVal'),
'user' => $this -> session ->userdata('username')
);
$id_m = $this->val2_model->save($data);
}
模型:
class Val1_model_model extends CI_Model{
// table name
private $table= 'val1';
function _construc(){
parent::Model();
}
*
*
*
function save($data){
$this->db->insert($this->table, $data);
return $this->db->insert_id();
}
}
答案 0 :(得分:2)
在控制器方法的最开始,您可以使用var_dump();
var_dump($this->input->post(NULL, TRUE));
Input :: post()方法返回$ _POST数组中的数据。假设您的表单使用该方法并将其发布到该控制器/方法,则应该打印$ _POST数组的内容。第一个参数允许指定特定的索引(字段名称),但是如果传递NULL(或者没有,例如。$this->input->post()
),您将获得整个值的数组。第二个参数通过XSS过滤器运行它,这是可取的。
答案 1 :(得分:2)
@AVProgrammer为您提供了一个很好的方式来转储整个帖子。
如果这不起作用,你可能会做一些错误的事情。首先,如果表单上有action属性,请验证是否正确。 Here is a good article to explain more
除此之外,为了回答您的具体问题,以下是在视图中输出变量的示例(在帖子之后):
<?php if ($this->input->post('val3')) { echo $this->input->post('val3'); } ?>
希望这有帮助。