Codeigniter sessions php


Codeigniter sessions php

class MY_Controller extends CI_Controller
{
    public $data = array();
    function __construct()
    {
        parent::__construct();
        if($this->session->userdata('group_id') == FALSE) {
            redirect('user/login');
        }else {
            //How download sessions?
            //How Get the session given group_id?
            //How Redirect to the appropriate controller?
            if grup_id == 1 then goto administrator/dashboard
               //if not exist grup id then goto /index
            }
        }
    }

IN CODEIGNITER FRAMEWORK PHP

你可以试试这个方法。

class MY_Controller extends CI_Controller
{
    public $data = array();
    function __construct()
    {
        parent::__construct();
        if($this->session->userdata('group_id') == 1) {
            redirect('administrator/dashboard');
        } esle if($this->session->userdata('group_id') == 2) {
            redirect('manager/dashboard');
        } esle if($this->session->userdata('group_id') == 3) {
            redirect('user/dashboard');
        } else {
            redirect('user/login');
        }
    }
}

根据您想要实现的目标,您可以查看验证库https://github.com/benedmunds/CodeIgniter-Ion-Auth。使用满足您需求的现有库可以极大地提高项目的开发速度。

类型不匹配。Group_id是int或null,不是布尔值。为了避免反复调用session的成员函数,也要从session中检索一次值并将其赋值给一个变量。

function __construct()
{
    parent::__construct(); 
    group_id = $this->session->group_id;
    if (is_int(group_id)) // if group_id is set and assigned an int 
    {
        switch ($group_id)
        {
            case 1: 
                redirect('administrator/dashboard');
                break; 
            ...
            default:
                redirect('defaultpage');
        }
    }
    else
    {
        redirect('user/login');    
    }
}

话虽这么说,但您可能不想重新发明轮子并使用ion_auth (CI的用户管理和身份验证类)。