我想问你怎么能在控制器代码的末尾代替$ 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');
}
答案 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