未定义的属性:stdClass::$email CodeIgniter

未定义的属性:stdClass::$email CodeIgniter,codeigniter,properties,undefined,stdclass,Codeigniter,Properties,Undefined,Stdclass,你好,我有未定义的属性:stdClass::$email。你能帮我吗 遇到一个PHP错误 严重性:通知 消息:未定义的属性:stdClass::$email 文件名:controllers/verifylogin.php class VerifyLogin extends CI_Controller { function __construct() { parent::__construct(); $this->load->model('user_model',''

你好,我有未定义的属性:stdClass::$email。你能帮我吗

遇到一个PHP错误

严重性:通知

消息:未定义的属性:stdClass::$email

文件名:controllers/verifylogin.php

class VerifyLogin extends CI_Controller {

 function __construct()
 {
   parent::__construct();
   $this->load->model('user_model','',TRUE);
 }

 function index()
 {
   //This method will have the credentials validation
   $this->load->library('form_validation');

   $this->form_validation->set_rules('email', 'Email', 'required|valid_email');
   $this->form_validation->set_rules('password', 'Password', 'trim|required|xss_clean|callback_check_database');

   if($this->form_validation->run() == FALSE)
   {
     //Field validation failed.  User redirected to login page
     $this->load->view('login');
   }
   else
   {
     //Go to private area
     // redirect('home', 'refresh');
   }

 }

 public function check_database($password)
 {
   //Field validation succeeded.  Validate against database
   $email = $this->input->post('email');

   //query the database
   $result = $this->user_model->login($email, $password);

   if($result)
   {
     $sess_array = array();
     foreach($result as $row)
     {
       $sess_array = array(
         'user_id' => $row->user_id,
         'email' => $row->email
       );
        // $session_data = $this->session->set_userdata('logged_in',$sess_array);
        $this->session->set_userdata('logged_in', $sess_array);

     }
     return TRUE;
   }

   else
   {
     $this->form_validation->set_message('check_database', 'Invalid email or password');
     return false;
   }
 }
}
电话号码:48

回溯:

文件:D:\wamp\www\codeigniter\application\controllers\verifylogin.php
class VerifyLogin extends CI_Controller {

 function __construct()
 {
   parent::__construct();
   $this->load->model('user_model','',TRUE);
 }

 function index()
 {
   //This method will have the credentials validation
   $this->load->library('form_validation');

   $this->form_validation->set_rules('email', 'Email', 'required|valid_email');
   $this->form_validation->set_rules('password', 'Password', 'trim|required|xss_clean|callback_check_database');

   if($this->form_validation->run() == FALSE)
   {
     //Field validation failed.  User redirected to login page
     $this->load->view('login');
   }
   else
   {
     //Go to private area
     // redirect('home', 'refresh');
   }

 }

 public function check_database($password)
 {
   //Field validation succeeded.  Validate against database
   $email = $this->input->post('email');

   //query the database
   $result = $this->user_model->login($email, $password);

   if($result)
   {
     $sess_array = array();
     foreach($result as $row)
     {
       $sess_array = array(
         'user_id' => $row->user_id,
         'email' => $row->email
       );
        // $session_data = $this->session->set_userdata('logged_in',$sess_array);
        $this->session->set_userdata('logged_in', $sess_array);

     }
     return TRUE;
   }

   else
   {
     $this->form_validation->set_message('check_database', 'Invalid email or password');
     return false;
   }
 }
}
行:48函数:\u错误\u处理程序

文件:D:\wamp\www\codeigniter\index.php行:292函数: 需要一次

这是VerifyLogin控制器
class VerifyLogin extends CI_Controller {

 function __construct()
 {
   parent::__construct();
   $this->load->model('user_model','',TRUE);
 }

 function index()
 {
   //This method will have the credentials validation
   $this->load->library('form_validation');

   $this->form_validation->set_rules('email', 'Email', 'required|valid_email');
   $this->form_validation->set_rules('password', 'Password', 'trim|required|xss_clean|callback_check_database');

   if($this->form_validation->run() == FALSE)
   {
     //Field validation failed.  User redirected to login page
     $this->load->view('login');
   }
   else
   {
     //Go to private area
     // redirect('home', 'refresh');
   }

 }

 public function check_database($password)
 {
   //Field validation succeeded.  Validate against database
   $email = $this->input->post('email');

   //query the database
   $result = $this->user_model->login($email, $password);

   if($result)
   {
     $sess_array = array();
     foreach($result as $row)
     {
       $sess_array = array(
         'user_id' => $row->user_id,
         'email' => $row->email
       );
        // $session_data = $this->session->set_userdata('logged_in',$sess_array);
        $this->session->set_userdata('logged_in', $sess_array);

     }
     return TRUE;
   }

   else
   {
     $this->form_validation->set_message('check_database', 'Invalid email or password');
     return false;
   }
 }
}
家庭控制器

class VerifyLogin extends CI_Controller {

 function __construct()
 {
   parent::__construct();
   $this->load->model('user_model','',TRUE);
 }

 function index()
 {
   //This method will have the credentials validation
   $this->load->library('form_validation');

   $this->form_validation->set_rules('email', 'Email', 'required|valid_email');
   $this->form_validation->set_rules('password', 'Password', 'trim|required|xss_clean|callback_check_database');

   if($this->form_validation->run() == FALSE)
   {
     //Field validation failed.  User redirected to login page
     $this->load->view('login');
   }
   else
   {
     //Go to private area
     // redirect('home', 'refresh');
   }

 }

 public function check_database($password)
 {
   //Field validation succeeded.  Validate against database
   $email = $this->input->post('email');

   //query the database
   $result = $this->user_model->login($email, $password);

   if($result)
   {
     $sess_array = array();
     foreach($result as $row)
     {
       $sess_array = array(
         'user_id' => $row->user_id,
         'email' => $row->email
       );
        // $session_data = $this->session->set_userdata('logged_in',$sess_array);
        $this->session->set_userdata('logged_in', $sess_array);

     }
     return TRUE;
   }

   else
   {
     $this->form_validation->set_message('check_database', 'Invalid email or password');
     return false;
   }
 }
}
    <?php 

session_start(); //we need to call PHP's session object to access it through CI
class Home extends CI_Controller {

 function __construct()
 {
   parent::__construct();
 }

 function index()
 {
   if($this->session->userdata('logged_in'))
   {
     $session_data = $this->session->userdata('logged_in');
     $data['email'] = $session_data['email'];
     $this->load->view('home', $data);
   }
   else
   {
     //If no session, redirect to login page
     redirect('login', 'refresh');
   }
 }

 function logout()
 {
   $this->session->unset_userdata('logged_in');
   session_destroy();
   redirect('home', 'refresh');
 }

}

我认为您的form\u open()方法存在问题

你忘了装东西了

$this->load->helper('form');
尝试阅读手册,了解解决方案: user_model.php

这个

改为
$query=$this->db->select('user\u id,email','password')


天哪

如果你
var\u dump($result)
,你会得到什么?当我做var\u dump($result)
array(size=1)0=>object(stdClass)[23]public'user\u id'=>string'19'(length=2)
看起来没有电子邮件我不知道第50行是什么`我已经在autoload中加载了表单:
$autoload['helper']=array('form','url','security')
从check_数据库($password)中删除$password变量,然后选中并添加$password=$this->input->post('password');在check_database()函数中仍然存在相同的问题
$this->load->helper('form');
$query = $this->db->select('user_id','email','password')