如何修复代码点火器错误:在 null 上调用成员函数



这是我第一次探索codeigniter,我一直在尝试创建一个登录名,如果在数据库中找不到用户,它将重定向回登录屏幕。我没有成功,因为我收到此错误:

第一条错误消息

其次

第二条错误消息

我尝试使用 verify() 函数加载数据库和会话

$this->load->database();
$this->load->session();

但即便如此,我认为它不起作用,因为我已经在autoload.php中声明了数据库和会话

$autoload['libraries'] = array('database', 'session');

这是controllers/Login.php

class Login extends CI_Controller{
    function index(){
        $this->load->view("templates/_header");
        $this->load->view("login");
        $this->load->view("templates/_footer");
        $this->load->view("templates/_scripts");
    }
    function verify(){
        $this->load->model('user');
        $check = $this->model->validate();
        if($check){
        } else {
        redirect('login');
        }
    }
}

这是models/User.php

<?php
class User extends CI_Model{
    function validate(){
        $arr['username'] = $this->input->post('username');
        $arr['password'] = password_hash($this->input->post('password', PASSWORD_DEFAULT));
        return $this->db->get_where('users', $arr)->row();
    }
}

你们认为它有什么问题?

你已经以正确的方式加载了你的model,但要使用它,你必须调用它的类名(这里是User)才能正常工作。

注意:如果您想以干净的方式编码并且不冲突,请尝试将模型命名为User_modelUser_m,因此,如果您的控制器名称为User,则它不会与您的模型冲突。:-)

相关内容

  • 没有找到相关文章

最新更新