Codeigniter控制器返回上一页

时间:2016-05-20 14:33:53

标签: php codeigniter

我想问你怎么能在控制器代码的末尾代替$ this-> load-> view('some_view.php'),将用户返回到调用控制器方法的页面?简单的return语句不起作用。

public function someMethod($IDCustomer) {

     $this->Some_modal->persist($IDCustomer);   
     // how to return to previous page instead of line after?
     // i've used $this->load->view('someView.php');
}

6 个答案:

答案 0 :(得分:21)

这应该有助于http://www.codeigniter.com/user_guide/libraries/user_agent.html

$this->load->library('user_agent');
if ($this->agent->is_referral())
{
    echo $this->agent->referrer();
}

或直接PHP:

redirect($_SERVER['HTTP_REFERER']);

答案 1 :(得分:11)

我在某个帖子上找到了答案。

  

在您要返回的页面中,您可以执行以下操作:

     

$this->session->set_userdata('referred_from', current_url());

     

然后重定向回该页面

$referred_from = $this->session->userdata('referred_from');
redirect($referred_from, 'refresh');

答案 2 :(得分:1)

试过 return redirect()->to($_SERVER['HTTP_REFERER']); ,效果很好。

答案 3 :(得分:0)

我已经尝试过header('location:'.$_SERVER['HTTP_REFERER']);,并且运行良好。

只是一排普通的旧PHP代码。

答案 4 :(得分:0)

使用REDIRECT_QUERY_STRING的{​​{1}}替代项:

HTTP_REFERRER

答案 5 :(得分:0)

在 Codeigniter 4 中,您可以使用来自 url helper 的 previous_url() 函数

查找更多https://codeigniter.com/user_guide/helpers/url_helper.html