【问题标题】:Reload current URL in Codeigniter After Submit The Form提交表单后在 Codeigniter 中重新加载当前 URL
【发布时间】:2020-02-27 09:04:26
【问题描述】:

我的 view.php 文件中有一个表单。它的 URL 像 https://example.com/members/view/1https://example.com/members/view/2 等。当我通过控制器提交表单时,它的调用模型如下所示

public function insert_comments(){



        $data=$this->input->post();



        $this->load->model('work_model');



        $result=$this->work_model->insert_comments($data);



        if($result)



        {
                $this->session->set_flashdata('insert_comments','your comments succesfully');

                $this->session->set_flashdata('succesfully','alert-success');

                $this->load->view('add_coments');

        }

        else{


            $this->session->set_flashdata('insert_comments','your comments failed');

                $this->session->set_flashdata('succesfully','alert-danger');

                $this->load->view('add_coments');

        }

    }

}

模型如下所示

public function insert_comments($array)

{

    return $this->db->insert('comments',$array);

}

目前它工作正常并在表单上提交其名为 add_cmets 的加载视图,而不是我想要重新加载/刷新当前页面。我不知道该怎么做,如果有人可以帮助我,请告诉我。

谢谢!

【问题讨论】:

    标签: php codeigniter


    【解决方案1】:

    根据this answer,在控制器中可以使用:

    redirect($this->uri->uri_string());
    

    【讨论】:

      【解决方案2】:

      使用这个:

      redirect($_SERVER['REQUEST_URI'], 'refresh'); 
      

      【讨论】:

        【解决方案3】:

        当您重新加载或重定向页面时,您应该始终使用redirect() 方法而不是加载视图。

        重定向基本上使用 PHP 核心的header() 方法,并且重定向永远不会执行超出redirect() 方法编写的代码块。但是在加载视图的情况下,可以一直执行到代码块结束。

        在您的代码中,将$this->load->view('add_coments'); 行替换为指向所需控制器的重定向

        redirect('your-controller','refresh');

        希望对你有帮助。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2018-07-26
          • 1970-01-01
          • 1970-01-01
          • 2012-04-12
          • 1970-01-01
          • 2016-06-10
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多