无法清除codeigniter中的变量

时间:2015-08-05 11:12:39

标签: php codeigniter

这是我的控制器: -

public function home() {
    if($this->session->userdata('id')) {
        $this->header();
        $this->load->model('admincon');
        $e = $this->admincon->select();
        $data['e'] = $e;
        $this->load->view('admin/home',$data);
    } else {
        $this->index();
    }
}

function home()的视图页面中,有一个表单通过function subques()提交,此功能在此处: -

public function subques() {
    if($this->session->userdata('id')) {
        $tp=$this->input->post('box1',TRUE);
        $s=$this->input->post('box',TRUE);
        $t=$this->input->post('t',TRUE);
        $a=$this->input->post('a',TRUE);
        $b=$this->input->post('b',TRUE);
        $c=$this->input->post('c',TRUE);
        $d=$this->input->post('d',TRUE);
        $n=$this->input->post('n',TRUE);    
        $this->load->model('admincon');
        $this->admincon->subque($s,$t,$a,$b,$c,$d,$n,$tp);

        $this->home();
    } else {
        $this->index();
    }
}

但是当用户重定向到页面时,如果他们点击刷新按钮将之前的数据存储到数据库中,则将其提交到数据库中。如何解决这个问题。

我的意思是如何在使用后清除变量。

2 个答案:

答案 0 :(得分:2)

用户redirect()代替$this->home()

 public function subques()
{
   if($this->session->userdata('id'))
   {
       $tp=$this->input->post('box1',TRUE);
       $s=$this->input->post('box',TRUE);
       $t=$this->input->post('t',TRUE);
       $a=$this->input->post('a',TRUE);
       $b=$this->input->post('b',TRUE);
       $c=$this->input->post('c',TRUE);
       $d=$this->input->post('d',TRUE);
       $n=$this->input->post('n',TRUE);    
       $this->load->model('admincon');
       $this->admincon->subque($s,$t,$a,$b,$c,$d,$n,$tp);

       redirect('controller_name/home');
  }
   else
   {
       redirect('controller_name/index');
   }
}

答案 1 :(得分:0)

没有$this->home();使用

redirect(base_url() . 'controller_name/home');