如何使用codeigniter flash变量?
我在CodeIgniter中与Flash数据斗争。
我基本上想要:
向数据库添加问题将用户重定向回页面显示成功弹出消息“您的问题已创建”
到目前为止,我可以成功地将类别添加到数据库并正确validation用户输入,唯一的事情是我不知道如何创建弹出成功消息。 (我不想加载成功视图),只需重定向回到他们来自的地方,并在顶角或其他地方显示小消息。
闪存数据是正确的方法吗?
控制器: –
$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');
Flash数据听起来像是要走的路。 你可以这样做:
if($insert_status){ $notification = "Record Inserted"; } else { $notification = "Insertion Failed"; } $this->session->set_flashdata('notification', $notification); redirect('controller/method','refresh');
然后访问它
$this->session->flashdata('notification');
该手册是此类信息的宝贵来源。
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'); } } ?>
在查看页面中:
=$this->session->flashdata('msg')?>