php – 刷新时,重复数据插入到codeigniter中的数据库中
发布时间:2020-12-13 15:57:08 所属栏目:PHP教程 来源:网络整理
导读:我使用$this- db- insert()将数据插入到我的表中.成功插入数据后,必须显示消息,也不应再次插入数据. 控制器: public function index($message = '') { $this-load-template('homePage');}/** * Insert functionlaity */public function insert() { if ($_PO
我使用$this-> db-> insert()将数据插入到我的表中.成功插入数据后,必须显示消息,也不应再次插入数据.
控制器: public function index($message = '') { $this->load->template('homePage'); } /** * Insert functionlaity */ public function insert() { if ($_POST['save']) { $result = $this->home->insertEntry(); $data['message'] = ($result > 0) ? 'saved' : 'Not'; redirect('HomeController',$data); } $this->load->view('homePage'); } 模型: public function insertEntry() { $this->name = $_POST['name']; $this->email = $_POST['email']; $this->db->insert('users',$this); return $this->db->affected_rows(); } 视图: <div class="container sampleForm"><?php echo isset ($message) ? $message : ''; echo form_open( get_class(get_instance()) . '/insert') . form_label('id') . form_input('id',isset($query['id']) ? $query['id'] : '','class="form-control"') . br() . form_label('name') . form_input('name',isset($query['name']) ? $query['name'] : '','class="form-control"') . br() . form_label('email') . form_custom_input('email','email',isset($query['email']) ? $query['email'] : '','class="form-control"') . br() . form_submit('save','save','class="btn btn-primary"') . form_close(); ?> </div> 我的问题是,如果我可以显示状态,则不会显示每次刷新其他状态的数据插入. 这一切都应该在我的HomeController.php中作为控制器,Home.php作为模型,homePage.php作为视图文件.不在任何其他文件中. 我的逻辑是: 例如:我有一张学生桌,我将存储学生姓名和标记,如名称,m1,m2,m3.现在我想添加标记,如果添加标记我想显示状态.刷新页面时不应发生重复插入.学生姓名和商标相似.我想单独用php做. 解决方法
目前,没有选项将状态(成功,错误)消息传递到概述页面(或所需页面).
使用$_SESSION保存值并从会话中检索值. 要显示状态消息并避免重复条目,代码如下: 控制器: if (isset($_POST['save'])) { $result = $this->home->insertEntry(); $message = ($result > 0) ? 'saved' : 'Not'; $this->session->set_userdata('message',$message); //redirect,avoid duplicate entries redirect('HomeController'); } 视图: <div class="container sampleForm"><?php if($this->session->has_userdata('message')){ echo $this->session->message; $this->session->unset_userdata('message'); } echo form_open( get_class(get_instance()) . '/insert') . form_label('id') . form_input('id','class="form-control"') . br() . form_label('name') . form_input('name','class="form-control"') . br() . form_label('email') . form_custom_input('email','class="form-control"') . br() . form_submit('save','class="btn btn-primary"') . form_close(); ?> </div> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |