【问题标题】:How do I echo the variables that I passed by post with the codeIgniter framework MVC如何使用 codeIgniter 框架 MVC 回显我通过 post 传递的变量
【发布时间】:2016-05-04 15:26:40
【问题描述】:

我正在尝试将表单中的数据保存到数据库中,但我不能这样做...不知道为什么。我想打印变量并查看变量是否通过 post 传递。如何回显通过 post 传递的变量和位置。我是 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();
    }
}

【问题讨论】:

    标签: php codeigniter model-view-controller


    【解决方案1】:

    在控制器方法的最开始,可以使用var_dump();

    var_dump($this->input->post(NULL, TRUE));
    

    Input::post() 方法返回 $_POST 数组中的数据。假设您的表单使用该方法并发布到该控制器/方法,这应该打印 $_POST 数组的内容。第一个参数允许指定一个特定的索引(字段名称),但如果您传递 NULL(或什么都不传递,例如$this-&gt;input-&gt;post()),您将获得整个值数组。第二个参数通过 XSS 过滤器运行它,这是可取的。

    【讨论】:

      【解决方案2】:

      @AVProgrammer 为您提供了一个很好的方式来转储整个帖子。

      如果这不起作用,您可能做错了一些事情。首先,如果您的表单上有一个 action 属性,请验证它是正确的。 Here is a good article to explain more.

      除此之外,为了回答您的具体问题,这里有一个在 视图 本身中输出变量的示例(在帖子之后):

      <?php if ($this->input->post('val3')) { echo $this->input->post('val3'); } ?>
      

      希望这会有所帮助。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-06-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多