您好我是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