在用户登录后是否有另一种方法可以重定向到上一页,而不会将重定向URL存储到查询字符串中。我只看过使用查询字符串的示例,但我希望在不将重定向URL存储到查询字符串的情况下实现此目的。提前谢谢!
答案 0 :(得分:0)
不是将重定向网址存储在查询字符串中,而是可以将其存储在会话中,如下所示:
$_SESSION['login-redirect'] = '/some-path.php'
然后,您可以像这样重定向:
$loginRedirectUrl = '/default-path.php'
if (isset($_SESSION['login-redirect'])) $loginRedirectUrl = $_SESSION['login-redirect'];
header('Location: '.$loginRedirectUrl);
答案 1 :(得分:0)
在控制器中:
public function product()
{
if ($this->session->userdata('logged_in')) {
$data["refined_product_category"] = $this->cmsdbmodel->refined_product();
$this->load->view('cms/header');
$this->load->view('cms/products',$data);
$this->load->view('cms/footer');
}
else {
$url = current_url(); //gets your current url.
$this->session->set_userdata("sess_url", $url); //keeps your current url in session.
$this->index();
}
}
然后在登录页面。
public function login()
{
if (login success) {
redirect($this->session->userdata("sess_url")); //retrieve the url that was in session and redirect.
}
}
我这样做了,它对我有用。