-2

我在第 16 行收到以下错误

我有自动加载的会话库

控制器登录

class Login extends CI_Controller {

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

function index() { $this->load->helper(array('form')); $this->load->view('login_view'); }

}

?> ;

控制器验证登录

class VerifyLogin extends CI_Controller {

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

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

$this->form_validation->set_rules('username', 'Username', 'trim|required|xss_clean'); $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_view'); } else { //Go to private area redirect('home', 'refresh'); }

}

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

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

if($result) { $sess_array = array(); foreach($result as $row) { $sess_array = array( 'id' => $row->id, 'username' => $row->username ); $this->session->set_userdata('logged_in', $sess_array); } return TRUE; } else { $this->form_validation->set_message('check_database', 'Invalid username or password'); return false; } } } ?> ;

模型用户

db -> select('id, username, password'); $this -> db -> from('users'); $this -> db -> where('username', $username); $this -> db -> where('password', MD5($password)); $this -> db -> limit(1);

$query = $this -> db -> get();

if($query -> num_rows() == 1) { return $query->result(); } else { return false; } } } ?> ;
4

1 回答 1

0

此错误意味着会话成员未设置为您的 verifyLogin 实例上的对象。

确保 $this->session 已正确分配。

于 2015-02-28T18:27:48.567 回答