在codeigniter中登录后重定向页面

时间:2017-03-31 09:03:35

标签: codeigniter url-redirection

我是codeigniter的新手,我有登录系统从现场开始,并有2个场景:

  1. 如果用户已登录,并且点击其他网站(不同域)的网址,则会重定向到指定链接。
  2. 如果用户未登录并点击其他域的链接,则他将首先重定向到登录页面,然后他将再次重定向到点击的链接。
  3. 现在我的第一个案例有效,但不是第二个,我尝试在会话中设置一个网址,如

    public static Create(moduleId: string): Component
        {
            return {
                selector: "dummy-selector,
                templateUrl: "./DummyView.html"
            };
    }
    

    给了我正确的网址

    但登录后,会话数据会将登录页面网址显示为$array['login_redirect'] = current_url(); $this->session->set_userdata($array); 的值。

2 个答案:

答案 0 :(得分:0)

当用户未登录时,您可以在会话中保存当前网址,当用户在登录页面时,您可以保存当前网址 - 然后您可以从会话中读取链接,它将链接到上次访问的网页。

另一种解决方案是在用户点击链接时将URL保存到cookie中,然后您可以在PHP中读取它并将用户重定向到正确的页面。

当用户被重定向到登录页面时,第三个解决方案是通过POST或GET发送此链接。

答案 1 :(得分:0)

您需要添加条件以设置当前网址。

例如:

$current_url = current_url();
$login_url = 'www.test.com/login';   // Login url of current website

if($current_url != $login_url){
   $array['login_redirect'] = $current_url;
   $this->session->set_userdata($array);

}