2014-09-06 78 views
0

如何在視圖中輸出用戶名和數據庫值「access」? 它應該在主頁面上顯示樂隊的用戶名和ID,如何實現?該數據庫在用戶的基礎上有一個「訪問」表,您需要獲取該值並將其帶入。幫助Codeigniter用戶名和訪問級別echo

這是我的控制器和模型:

型號:

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

我很困惑,是模型還是控制器? '類用戶擴展CI_Controller',如果它的a模型,那麼你應該從CI_Model擴展它 – 2014-09-06 21:38:49

+0

您正在控制器中使用模型和模型中的控制器代碼。只需將CI_Model更改爲CI_Controller,反之亦然。要獲取用戶名或任何地方的任何內容您的項目使用Codeigniter會話。 – Zeeshan 2014-09-07 14:42:56

回答

0

的問題是,用戶應該模型和家庭應該是一個控制器。

當您從表中獲取用戶名時,請創建一個$this->session->set_userdata('username', $username),其中$ username是查詢結果。

還有一個問題。 CI不使用$_SESSION,因此session_destroy()將不起作用,請改爲使用 $this->session->sess_destroy()