Codeigniter用户名和访问级别回显

时间:2014-09-06 21:32:19

标签: php codeigniter

如何在视图中输出用户名和数据库值“access”? 它应该在主页面上显示用户名和band的id,如何实现?数据库在用户的基础上有一个“Access”表,您需要获取值并将其带入。帮助

这是我的控制器和型号:

型号:

Class User extends CI_Model
{
    function login($username, $password)
    {
        $this->db->select('id', 'username', 'password', 'access');
        $this->db->from('users');
        $this->db->where('username', $username);
        $this->db->where('password', MD5($password));
        $this->db->limit(1);

        $query = $this->db->get();

        if($query->num_rows() == 1)
        {
            return $query->result();
        }
        else
        {
            return false;
        }
    }
}

控制器:

class Home extends CI_Controller
{
    function __construct()
    {
        parent::__construct();
        $this->load->library('Layout');
    }

    function index()
    {
        if($this->session->userdata('logged_in'))
        {
            $session_data = $this->session->userdata('logged_in');
            $data['username'] = $session_data['username'];
            $this->layout->content('home_view', $data);
        }
        else
        {
            redirect('login', 'refresh');
        }
    }

    function logout()
    {
        $this->session->unset_userdata('logged_in');
        session_destroy();
        redirect('home', 'refresh');
    }
}

1 个答案:

答案 0 :(得分:0)

问题是用户应该是模型,而家庭应该是控制器。

当您从表中获取用户名时,请创建一个$this->session->set_userdata('username', $username),其中$ username是查询结果。

还有另一个问题。 CI不使用$_SESSION,因此session_destroy()无法使用 而是$this->session->sess_destroy()