CodeIgniter
에 프로젝트를 만들고 login
기능을 만들려고합니다.stdClass 유형의 객체를 배열 코드 지정자로 사용할 수 없습니다.
로깅 할 때 세션을 만들었고 로그인 한 사용자의 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
}
}
내보기 - dashboard- -----------
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'];
}
}
제발 도와주세요.
https://stackoverflow.com/search?q=Cannot+use+object+of+type+stdClass+as+array – nogad
무엇이 오류입니까? – BRjava
stdClass 유형의 객체를 배열로 사용할 수 없습니다. –