【发布时间】:2015-07-04 10:49:18
【问题描述】:
我正在尝试使用 codeigniter 创建一个登录系统,但是在尝试登录时发现了一个致命错误:(
控制器 Auth.php
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
function __construct(){
parent::__construct();
$this->load->model('Auth/login','',TRUE);
}
class Auth extends CI_Controller {
public function index()
{
// $this->load->view('Home');
}
// start login
public function login()
{
$this->load->helper(array('form'));
$this->load->view('Login');
}
// end login
// start logout
public function logout()
{
$this->session->unset_userdata('logged_in');
redirect('Login','refresh');
}
// end logout
// start checkLogin
public function checkLogin()
{
// field validation successfull, validate against database
$username = $this->input->post('username');
$password = $this->input->post('password');
// query database
$this->load->model('Auth');
$result = $this->Auth->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('checkLogin', 'Invalid username or password');
return FALSE;
}
}
// end checkLogin
}
模型 Auth.php
<?php
class Auth extends CI_Model
{
// start login
function login($username, $password)
{
$this->db->select('id','username','password');
$this->db->from('user_details');
$this->db->where('username', $username);
$this->db->where('password', $password);
$this->db->limit(1);
$query = $this->db->get();
if ($query->num_rows() == 1) {
return $query->result();
}else{
return false;
}
}
// end login
}
?>
请帮我找出我所做的确切错误:'(
【问题讨论】:
-
您是否在类定义上方调用了
construct函数 -
你使用哪个 CI 版本???
-
我使用的是 CodeIgniter 3.0.0 版本
-
我正在尝试使用 codeigniter 创建一个登录系统,但在尝试登录时发现 致命错误 :( 也发布该错误
-
parent::__construct();没有任何意义,因为您在类范围之前调用构造函数
标签: php codeigniter