这是我第一次探索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();
}
}
你们认为这是什么问题?
答案 0 :(得分:0)
您已经加载了model
的真实方式,但是要使用它,必须调用其类名(此处为User
)才能正常工作。
注意:如果您想以一种简洁的方式进行编码并且不与它们冲突,请尝试将您的模型命名为User_model
或User_m
,因此,如果您有一个名称为{{1 }}与您的模型没有冲突。
:-)