在codeigniter杂货堆中确认表单提交错误


Confirm form submission error in codeigniter grocery crud

当我点击返回按钮时,我得到了确认表单提交错误。如何防止这个问题?请提供解决方案。我试图登录到管理面板,并在管理中编辑以下代码

 Admin controller:
        public function index()
        {
            $data = $this->data;
            $this->load->view('admin/login.php',$data);
        }
        public function login()
        {
            $data = $this->data;
            $username=$this->input->post("username");
            $password=$this->input->post("password");
            if($username=='admin'&&$password=='admin123')
            {
                $this->load->view('admin/home.php',$data);
            }
            else
            {
                $data['error']="Invalid Username or Password";
                $this->load->view('admin/login.php',$data);
            }
        }
        /* Function For Displaying the home page*/
        public function home()
        {
            $data = $this->data;
            $this->load->view('admin/index.php',$data);
        }
        /* Common Function for calling the View*/
        public function _admin_output($output = null)
        {
            $output->base=$this->config->item('base_url');
            $output->site=$this->config->item('site_url');
            $output->css=$this->config->item('css');
            $output->js=$this->config->item('js');
            $this->load->view('admin/home_page.php',$output,'refresh');
        }
            public function loadSlidingimg()
        {
            $crud = new grocery_CRUD();
            $crud->set_table('tbl_slideimg');
            $crud->columns('imgname','active');
            $crud->set_subject('Frontpage Sliding Images');
            $crud->display_as('imgname','Image name');
            $crud->set_field_upload('imgname','uploads');   
            $crud->display_as('active','Active Flag');
            $crud->callback_after_update(array($this,'rename_slideimg_db'));
            $crud->callback_after_insert(array($this,'rename_slideimg_db'));
            $output = $crud->render();
            $this->_admin_output($output);
        }
        }

请提供解决方案

这是因为将您带到该页面的操作是POST请求。浏览器想要你从无意的重复订购/支付/任何当你回去,当你加载该页面需要做表单再次张贴。

如何解决这个问题?我通常将用户重定向到一个由GET请求加载的页面,它甚至可以是同一个页面,看看这个答案:https://stackoverflow.com/a/3968038/357403
或者,您可以修改历史记录:https://developer.mozilla.org/en-US/docs/Web/API/History_API

另外,请参阅PRG模式:https://en.wikipedia.org/wiki/Post/Redirect/Get

试试这个代码格式:

$this->load->view('admin/home.php', 'refresh', $data);

redirect('home', 'refresh');