插入成功消息后的 Codeigniter 显示在视图中

Ram*_*h S 1 message codeigniter insert

我是Codeigniter的新手,我需要在之后显示成功和错误消息insert数据进入数据库后显示成功和错误消息。

我怎样才能在消息中显示view页面中显示该消息?

这是我的编码:

模型

function addnewproducts($data)
{
    if($data['product_name']!="" && $data['product_qty']!="" && $data['product_price']!="" && $data['date']!="")    
    {
        $res=$this->db->insert('product_list',$data);
        return $this->db->insert_id();
    }
    else
    {
        return false;
    }
}
Run Code Online (Sandbox Code Playgroud)

控制器

function addnewproduct()
    {
        $this->load->model('products');
        $data['product_name'] = trim(strip_tags(addslashes($this->input->post('product_name'))));
        $data['product_qty'] = trim(strip_tags(addslashes($this->input->post('product_qty'))));
        $data['product_price'] = trim(strip_tags(addslashes($this->input->post('product_price'))));
        $data['datetime']=date('d-m-Y');
        $res = $this->products->addnewproducts($data);
        if($res==true)
        {
            $data['success'] = 'Successful';
            $this->load->view('addproduct',$data);
        }

    }
Run Code Online (Sandbox Code Playgroud)

看法

<p><?php echo $success; ?></p>
Run Code Online (Sandbox Code Playgroud)

BSB*_*BSB 5

方法有很多,但我推荐以下几种:

成功或错误时在控制器中设置临时会话:

$res = $this->products->addnewproducts($data);
if($res==true)
{
    $this->session->set_flashdata('success', "SUCCESS_MESSAGE_HERE"); 
}else{
    $this->session->set_flashdata('error', "ERROR_MESSAGE_HERE");
}
Run Code Online (Sandbox Code Playgroud)

在视图中您可以显示 flashdata,如下所示:

echo $this->session->flashdata('success');
or 
echo $this->session->flashdata('error');
Run Code Online (Sandbox Code Playgroud)

来源:Codeigniter官网https://codeigniter.com/userguide3/libraries/sessions.html