【发布时间】:2018-01-24 08:55:16
【问题描述】:
我正在学习 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。任何帮助将不胜感激。
【问题讨论】:
-
只有在页面重新加载后才能使用闪存数据
-
当您传递
$data['flash']时,只需传递字符串并在各自的视图中,如果它不为空,则显示值 -
flashdata 仅适用于下一页请求。你为什么不在你的案例中使用 tempdata?
-
那么,代码应该如何? @DeadManAlive
-
@MuhammadAbdurrouf 这个代码是做什么的
$this->templates->admin??
标签: php codeigniter frameworks