在不使用查询字符串的情况下登录后重定向到上一页

时间:2014-11-24 03:28:52

标签: php

在用户登录后是否有另一种方法可以重定向到上一页,而不会将重定向URL存储到查询字符串中。我只看过使用查询字符串的示例,但我希望在不将重定向URL存储到查询字符串的情况下实现此目的。提前谢谢!

2 个答案:

答案 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.
   }
}

我这样做了,它对我有用。