Codeigniter会话登录客户到管理员登录

时间:2017-01-06 16:21:20

标签: php codeigniter session logging

我在Codeigniter开发了电子商务网站,但我有一个主要问题。

在此网站中,如果我已登录管理面板并且未从管理面板注销然后尝试登录客户面板,则会自动重定向到管理面板,即使我已登录到客户面板。

您可以在线测试:http://a2zshopping.my-board.org/?i=1管理面板链接为http://a2zshopping.my-board.org/admin

管理员电子邮件:admin@gmail.com
密码:admin
客户:ali@gmail.com
通过:c%$#@!

以下是我在控制器/登录类中的代码

//admin login
  public function __construct()
    {
        parent::__construct();
        if($this->session->userdata('admin_email'))
        {
            return redirect("admin");
        }


    }

    public function doLogin()
    {
        $post=$this->input->post();
        $this->load->model("Authentication","au");
        $data=$this->au->doLogin($post);
        if($data)
        {
            $this->session->set_userdata("admin_email",$data);
            return redirect("admin");
        }
        else
        {
            $this->session->set_flashdata("failed","Email and Password is not correct");
            return redirect("login");
        }

    }
    //customer login
    public function do_c_Login()
    {
        $post=$this->input->post();
        $this->load->model("Authentication","au");
        $data=$this->au->do_c_Login($post);
        if($data)
        {
            $c_email=$data->c_email;
            $c_id=$data->c_id;
            $this->session->set_userdata("c_email",$c_email);
            $this->session->set_userdata("c_id",$c_id);
            return redirect("shop/profile");
        }
        else
        {
            $this->session->set_flashdata([
                "msg"=>"Email and Password do match",
                "class"=>"danger",
                "heading"=>"ERROR"
                ]);
            return redirect("shop/login");
        }

    }

这是控制器/管理员中的代码

public function __construct()
    {
        parent::__construct();
        if(!$this->session->userdata('admin_email'))
        {
            return redirect("login");
        }
        $this->load->model("Order_management","om");
        $this->load->model("user_management","um");
        $this->load->model("inventory_management","im");

    }

以下是商店/登录客户的代码

if(!$this->session->userdata('c_email'))
        {
            return redirect("shop/login");
        }

1 个答案:

答案 0 :(得分:0)

当然会发生这种情况,因为您在admin@gmail.com设置了SESSION,当您离开管理面板时,它仍在SESSION