【发布时间】:2016-11-05 20:07:26
【问题描述】:
表单提交后,任意数量的刷新都会将数据存储在数据库中多次。
IE。 !empty($_POST) 在提交后始终为真。
如何在不重定向页面/网址的情况下停止提交。因为我想留在同一页面上。
我正在使用 form_open() 和 form_submit() 进行代码点火。
在视图中
<?php echo form_open("",array('method' => 'POST'));?>
/* form fields */
'发送', '值' => '发送通知',"name"=>"send_notification")); ?>
在控制器中
`if (!empty($_POST['send_notification'])) {
/* validation rules & data*/
if ($this->form_validation->run() == TRUE){
$this->model->insert($data);
}
}`
如何停止重复记录插入,我试过了 unset($_POST) , isset() , if($this->input->post()) ,似乎没有任何效果。
【问题讨论】:
-
您可以使用
redirect('controller/function');将页面重定向到同一个控制器,如果您想显示消息,则可以使用附加的内容进行重定向,例如redirect('controller/function/?success');。然后在控制器if(isset($_GET['success'])){ $data['success'] ="Your success message here"; } -
谢谢,在重定向到同一个控制器之前闪现消息有帮助。!!
标签: forms codeigniter post insert duplicates