致命错误:无法重新宣布上课

时间:2015-07-04 10:49:18

标签: php codeigniter

我正在尝试使用codeigniter创建登录系统,但尝试登录时发现致命错误:(

Controler 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
}
?>

请帮我找到我所做的确切错误:'(

1 个答案:

答案 0 :(得分:1)

问题是你有两个同名的Auth类,一个用于控制器,一个用于模型。一个脚本不能包含两个类,这就是你得到错误的原因。

重命名你的auth模型,就像这个Auth_model.php一样,并像这样声明类

class Auth_model extends CI_Model

希望你可以休息一下如何使用这个模型。