简体   繁体   中英

Confirm form submission error in codeigniter grocery crud

When i click on back button, i got the confirm form submission error .How to prevent this issue?Please provide solution for this. I am trying to login to the admi panel and edit in admin in this following code

 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);
        }
        }

Please provide solution for this issue

It happens because the action that took you to that page was a POST request. The browser wants to save you from unintentional double-ordering/paying/whatever when you go "back", when loading that page would need to do the form posted again.

How to work that around? I usually redirect the user to a page which was loaded by a GET request, it can be even the same page, see this answer: https://stackoverflow.com/a/3968038/357403
Or, you could modify the history: https://developer.mozilla.org/en-US/docs/Web/API/History_API

Also, please see the PRG pattern: https://en.wikipedia.org/wiki/Post/Redirect/Get

Try this code format:

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

or

redirect('home', 'refresh');

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM