PHP Codeigniter ; Preventing form resubmit
codeigniter, forms, php, redirect
Solution
Try redirect to itself
public function find()
{
$data['search_result']=$this->search_model->search($this->input->post('search_key'));
if($this->input->post('search_key')) {
redirect('yourcontroller/find');
}
$this->load->view('template/header');
$this->load->view('pages/search_result',$data);
$this->load->view('template/footer');
}
Problem
I am creating a search page in my CodeIgniter project. On submit, the form calls the controller function, data is fetched via model function and the resulting array is passed to the view The problem is that when I refresh the result page the form is resubmitting because the $_POST data is still there in the request headers. How can I avoid that resubmit confirmation message Following is the code for my form : ``` <!--form--> <form id="find" action="<?php echo base_url()?>search/find" method="post"> <input type="text" name="search_key" class="tb4" id="search_key" placeholder="Search here"/> <input type="button" value="search"/> </form> ``` Following is the code for my controller: ``` /* * function for fetching search results * @param void * @return void */ public function find() { $data['search_result']=$this->search_model->search($this->input->post('search_key')); $this->load->view('template/header'); $this->load->view('pages/search_result',$data); $this->load->view('template/footer'); } ``` Kindly help me with this.I can't use redirect instead of loading the view since I am bound to pass the result array $data to the view.