【发布时间】:2017-05-14 22:39:02
【问题描述】:
使用 codeigniter 工作的用户管理页面,我自己创建了编辑用户功能,它可以工作,但通知无法工作。意味着如果更新用户详细信息时出现问题,应该通过错误或成功但没有发生任何事情,但数据正在更新。
这里是模型(Admin_model.php):
public function editUser($id, $data)
{
$this->db->where('id', $id);
$this->db->update('users', $data);
}
控制器(Admin.php):
public function edit_user($id)
{
//set validation rules
$this->form_validation->set_rules('firstname', 'First Name', 'trim|required');
$this->form_validation->set_rules('lastname', 'Last Name', 'trim|required');
$this->form_validation->set_rules('email', 'Email', 'trim|required|valid_email');
if ($this->form_validation->run() == FALSE)
{
$this->load->view('default/admin/edit_user');
} else {
$data = array(
'firstname' => $this->input->post('firstname'),
'lastname' => $this->input->post('lastname'),
'email' => $this->input->post('email'),
'updated_at' => date('Y-m-j H:i:s')
);
if($this->Admin_model->editUser($id,$data)) {
$this->session->set_flashdata('global_alert','<div class="alert alert-success text-center">User updated!</div>');
redirect('admin/users');
} else {
$this->load->view('default/admin/edit_user');
$this->session->set_flashdata('global_alert','<div class="alert alert-danger text-center">Something wrong!</div>');
}
}
}
【问题讨论】:
-
如何在视图文件中显示 Flash 消息?
-
是的,我正在使用 Flash 消息视图文件头。
-
Flash 数据被存储并用于下一次会话调用。因此,您无法查看闪存数据中的错误消息。如果您刷新页面,它将出现。当您设置闪存数据然后重定向时,您的成功消息很好,这是正确的。如果您没有重定向,请将您的错误消息设置为普通变量以发送到您的视图。
-
我已经通过使用@pgee70 答案解决了这个问题,如下所示。
标签: php mysql codeigniter codeigniter-3