codeigniter - 如何防止F5重新提交表单

时间:2016-11-10 00:03:53

标签: php codeigniter

我的控制器中有以下方法:

(缩短版本,但所有关键部分都在这里......)

class Widget extends CI_Controller {
        public function __construct()
        {
                parent::__construct();
                $this->load->model('widget_model');
                $this->load->helper('form');
                $this->load->library('form_validation');
        }

        public function assign()
        {
                //logic to display form. 
                if ($this->input->method() == "get" ) {
                        $data['save_status'] = '';
                        $data['title'] = 'Assign Widget';
                        $data['main_content'] = "assign";
                        $this->load->view('includes/template',$data);
                } 
                else 
                {
                       //logic to handle POST
                        ...
                        $data['save_status'] = 'Sucessfully saved to db';
                        $data['title'] = 'Assign Widget';
                        $data['main_content'] = "assign";
                        $this->load->view('includes/template',$data);
                }
           }

一切正常,除了我不知道清除表单数据的正确方法是什么...因为当我按F5思考我正在刷新我的页面时,它实际上是将数据重新提交到数据库。

对不起,我确定这是一个菜鸟问题。

感谢。

编辑1

现在,我在帖子逻辑的末尾添加了一个重定向,就像这样;

  redirect(base_url()."index.php/thesamecontroller/thesamemethod");

并且将用户带到同一页面,但没有表单数据可用。

这是处理它的最佳方法吗?

0 个答案:

没有答案