如何笨Flash变量使用?(How to use codeigniter flash variabl

2019-10-18 14:58发布

米,在笨闪存数据挣扎。

基本上,我想:

添加问题到数据库将用户重定向回页面显示成功弹出消息“您的问题已创建”

到目前为止,我可以成功添加类别到数据库和用户输入验证正确,唯一的事情是我不知道如何创建弹出成功消息。 (我不希望加载成功视图),只是重新回到他们原来的地方,并在显示上角或小的东西消息。

是Flash数据走的路吗?

控制器: -

 $create_data =  $this->input->post();
    if(isset($create_data['question'])){
    $this->load->model('Test_model', 'test');
    $insert_status = $this->test->insertQuestions($create_data['question']);
    if($insert_status){
            echo "Record Inserted";
        }
        else{
            echo "Insertion Failed";
        }
    }
$this->layout->view('test/create');

Answer 1:

闪存数据听起来像是要走的路。 你可以这样做:

if($insert_status){
    $notification = "Record Inserted";  
} else {
    $notification = "Insertion Failed";
}

$this->session->set_flashdata('notification', $notification);
redirect('controller/method','refresh');

然后用访问

$this->session->flashdata('notification');

该手册是该种信息的宝贵来源。



Answer 2:

function insert(){
    $create_data =  $this->input->post();
    if(isset($create_data['question'])){
        $this->load->model('Test_model', 'test');
        $insert_status = $this->test->insertQuestions($create_data['question']);
        if($insert_status){
            //echo "Record Inserted";
            $this->session->set_flashdata('msg', 'Record Inserted'); //set session flash
            redirect('controller_name/insert', 'refresh');
        }
        else{
            //echo "Insertion Failed";
            $this->session->set_flashdata('msg', 'Insertion Failed'); //set session flash
            redirect('controller_name/insert', 'refresh');
        }
    }else{
        $this->layout->view('test/create');    
    }
}
?>    

在浏览页面:

<p><?=$this->session->flashdata('msg')?></p>


文章来源: How to use codeigniter flash variable?