2014-11-03 33 views
2

下面是登錄用戶的代碼(這是一個模型)我找不到問題可以告訴我嗎?我已經使用笨數據庫中該ci_session試圖獲得codeigniter用戶登錄非對象的屬性

public function login() { 
    $user = array (

      'email' => $this->input->post ('email'), 
      'password' => $this->input->post ('password'), 

      TRUE 
    ); 

    if (count ($user)) { 

     $data = array (

       'email' => $user->name, 
       'name' => $user->name, 
       'password' => $user->passsword, 
       'id' => $user->id, 
       'loggedin' => TRUE 
     ); 

     $this->session->set_userdata ($data); 
    } 
} 
+0

這是我的var_dump 陣列 'SESSION_ID'=>字符串 '411d77551192576abab369e16d8c9eb5'(長度= 32) 'IP_ADDRESS'=>字符串 '127.0.0.1'(長度= 9) 'USER_AGENT'= > string'Mozilla/5.0(Windows NT 6.2; WOW64; rv:33.0)Gecko/20100101 Firefox/33.0'(l​​ength = 72) 'last_activity'=> int 1415022883 'user_data'=> string''(length = 0 ) 'email'=> null 'name'=> null 'password'=> null 'id'=> null 'loggedin'=>布爾值true – syedsafir 2014-11-03 14:02:05

+0

你錯過了''user'數組的'name'字段,你不能像這樣獲取訪問數組元素$ user-> name使用'$ user ['name']'那就是爲什麼它產生那個錯誤 – 2014-11-03 16:20:26

回答

1

$用戶當前被定義爲一個數組,你正在尋找您的$ data數組中的對象的會話。您還沒有定義姓名,身份證,並且您有輸入錯誤passsword.

您可以將您的$ data數組更改爲看起來像這樣來修復錯誤。

$data = array (

      'email' => $user['email'], 
      'name' => $user['email'], 
      'password' => $user['password'], 
      'loggedin' => TRUE 
    ); 
+0

undefined索引密碼和用戶名稱,:/ – syedsafir 2014-11-04 09:49:46

+0

它沒有收到ID和名稱 – syedsafir 2014-11-04 10:28:36

+0

是的,它看起來我想要做的是在驗證電子郵件/密碼後從數據庫獲取用戶記錄,然後將該信息存儲在會話中。這樣你就可以得到用戶的ID和名稱。 – Overachiever 2014-11-04 14:08:08

相關問題