您好我是codeigniter框架的初學者,我無法理解如何從方法返回的數組中檢索信息。如何從數組中檢索信息
在我的索引頁上我有登錄表單,當用戶插入用戶名和密碼並單擊提交按鈕時,他調用控制器的方法登錄,其任務是從表單收集用戶名和密碼並將數據傳遞給模型方法「login $ username,$ password)「,然後模型方法返回true或false,取決於我們在數據庫中是否有有效的用戶,然後控制器的方法或者進一步傳遞用戶或者在開始時返回他。我的問題是,我想知道用戶訪問級別,我在模型製作這種方法
public function users_level($username){
$query = $this->db->get_where('users',array('username' => $username));
$users_level = $query->result(); // I tried with these too $users_level[] = $query->result();
return $users_level;
}
與我想回到用戶的訪問級別,並使用該信息,以確定該特定用戶有什麼看法。
這是從控制器登錄方法:
public function login(){
$username = $this->input->post('username');
$password = $this->input->post('password');
$this->load->model('model_user');
$logged_in = $this->model_user->login($username,$password);
if ($logged_in == true){
$result['level'] = $this->model_user->users_level($username);
$this->welcome($result);
}else if ($logged_in == false){
$this->index();
}
}
這是我的歡迎頁面。
<?php
echo "<br/><br/> WELCOME <br/><br/>";
//echo "Users level is : " . $user_level['level']; //this is problem
?>
<?php
print_r($user_level);
?>
,現在我不知道如何提取從陣列信息。 當我做
print_r($user_level);
看到的輸出是什麼,我得到這個的結果是:
歡迎
Array ([level] => Array ([0] => stdClass Object ([id] => 13 [username] => john_username [password] => 123 [name] => john [surname] => johnson [phone] => 123456 [email] => [email protected] [level] => 2 [user_type] => professor [activated] => 1 [is_admin] => 0 [is_professor] => 1 [desk] => [academic_year] => 0 [average_grade] => 0)))
,如果我嘗試做這樣的事情:
echo "Users level is : " . $user_level['level'];
或者:
發生echo "Users level is : " . $user_level->level;
錯誤:
A PHP Error was encountered
Severity: Notice
Message: Trying to get property of non-object
Filename: views/view_welcome_page.php
我明白,這是不是一個對象,但我不知道如何檢索列信息 - 從我的表級? 由於事先
你列'level'是2級深 - '$ user_level ['level'] [0] ['level']' – Sean
我的錯誤,我很抱歉。這解決了我的問題。非常感謝 – useruser