我正在关注youtube上的教程,但我遇到了 flashdata 的问题。它没有出现在教程中我跟着它运行良好。这是代码
function create(){
$this->load->library('session');
$this->load->module('site_security');
$this->site_security->_make_sure_is_admin();
$update_id = $this->uri->segment(3);
$submit = $this->input->post('submit', TRUE);
if ($submit == "Submit"){
//Process the form
$this->load->library('form_validation');
$this->form_validation->set_rules('item_title', 'Item Title', 'required|max_length[240]');
$this->form_validation->set_rules('item_price', 'Item Price', 'required|numeric');
$this->form_validation->set_rules('was_price', 'Was Price ', 'numeric');
$this->form_validation->set_rules('item_description', 'Item Description', 'required');
if ($this->form_validation->run() == TRUE){
//get the variables
$data = $this->fetch_data_from_post();
if (is_numeric($update_id)){
//update the item details
$this->_update($update_id, $data);
$flash_msg = "The item details were successfully updated.";
$value = '<div class="alert alert-success" role="alert">'.$flash_msg.'</div>';
$this->session->set_flashdata('item', $value);
redirect('store_items/create/'.$update_id);
}else{
//insert a new file
$this->_insert($data);
$update_id = $this->get_max();//get the ID of the new item
$flash_msg = "The item was successfully added.";
$value = '<div class="alert alert-success" role="alert">'.$flash_msg.'</div>';
$this->session->set_flashdata('item', $value);
redirect('store_items/create/'.$update_id);
}
}
}
if ((is_numeric($update_id)) && ($submit != "Submit")){
$data = $this->fetch_data_from_db($update_id);
}else{
$data = $this->fetch_data_from_post();
}
if (!is_numeric($update_id)){
$data['headline'] = "Add New Item";
}else{
$data['headline'] = "Update Item Details";
}
$data['update_id'] = $update_id;
$data['flash'] = $this->session->flashdata('item');
$data['view_module'] = "store_items";
$data['view_file'] = "create";
$this->load->module('templates');
$this->templates->admin($data);
}
在视图中,我只是回显$ flash。任何帮助都将非常感激。
答案 0 :(得分:0)
不需要传递 $ data ['flash'] 变量。
您可以直接从视图中调用变量。例如echo $this->session->flashdata('item')
答案 1 :(得分:0)
您可以在视图页
中使用此代码$this->session->flashdata('item');
答案 2 :(得分:0)
我终于得到了答案。这是我目前的CI版本的问题。所以我刚刚升级到最新版本,它运行正常。或者实际上我仍然可以使用我当前的CI版本,但我需要降级我的PHP版本。就这样。顺便说一句,非常感谢那些已经试图在这里帮助我的人。