[英]Cannot use object of type stdClass as array codeigniter
我正在CodeIgniter
構建一個項目,並嘗試創建login
功能。
我只是在登錄時創建了一個會話,並將登錄的用戶ID傳遞給了儀表板,但它向我顯示了一個錯誤。 這是我的代碼。
我的控制器-登錄控制器---------
class Login extends CI_Controller {
public function __construct() {
parent::__construct();
$this->load->model('Auth_model','',true);
}
public function index(){
$this->load->view('login/index');
}
public function verifyUser(){
$userArray = array(
"email"=>$this->input->post("email"),
"password"=>$this->input->post("password"),
);
$loggedUserData = $this->Auth_model->checkUser($userArray);
var_dump($loggedUserData);
if(count($loggedUserData)>0){
// this is where we creating session
$this->session->set_userdata('loggedUserData',$loggedUserData);
//redirect('dashboard/index');
}else{
redirect('login');
}
}
public function logout(){
$this->session->sess_destroy();
redirect('login');
}
}
我的模型-Auth_model ---------
class Auth_model extends CI_model{
public function __construct() {
parent::__construct();
}
public function checkUser($userArray){
$loggedUserData = $this->db->select('id')
->where('email',$userArray["email"])
->where('password',$userArray["password"])
->get('users');
return $loggedUserData->row();
// here we are going to check the user with db
}
}
我的看法-儀表板------------
class Dashboard extends CI_Controller {
public function __construct() {
parent::__construct();
$currentUserData = $this->session->userdata();
if(!isset($currentUserData["loggedUserData"])){
redirect('/login/');
}
}
public function index(){
//$this->load->view('dashboard/index');
echo $this->session->userdata['loggedUserData']['id'];
}
}
請幫幫我。
我相信由於模型中的此調用而發生了錯誤。
return $loggedUserData->row();
方法row()
返回和對象,但是您需要一個數組。 將以上更改為
return $loggedUserData->row_array();
錯誤就會消失。 並不是說一切都會正常。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.