[英]Fatal error: Call to a member function login() on a non-object in
遇到了我作为项目继承的Web应用程序的问题,很遗憾,我无法跟踪该错误。 似乎未加载模型,但我可能是错的。 任何帮助都会很棒。
代码是:
public function login()
{
//If request is post then user is trying to login, so process the login info
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
//Run the model method ::login
$login_successful = $this->User->login();
// check login status
if($login_successful) {
// if YES, then move user to dashboard/index (btw this is a browser-redirection, not a rendered view!)
header('location: ' . URL . 'passwords/index');
} else {
echo "Incorrect user / pass combination entered. Please try again.";
}
}
}
并且模型函数是:
public function login() {
$username = $_POST['data']['User']['username'];
$password = $_POST['data']['User']['password'];
$bind = array(
":username" => "$username",
);
$result = $this->select("users", "username = :username", $bind);
//Check the password returned from the db against the password entered
if (Bcrypt::checkPassword($password, $result[0]['password']) == true) {
Session::init();
Session::set('user_logged_in', true);
Session::set('user_id', $result[0]['id']);
Session::set('user_name', $result[0]['username']);
Session::set('user_permission', $result[0]['permission']);
Session::set('user_role', $result[0]['role']);
return true;
} else {
return false;
}
}
我也注意到控制器和模型都有一个名为login的函数。]
谢谢
原因是$this->User
不是有效的类实例。
确保它是一个对象。
尝试
var_dump($this->User);
die();
//Run the model method ::login
$login_successful = $this->User->login();
您将看到那里没有实例。
该怎么办?
找到您希望模型初始化的位置。 检查,为什么不是这样。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.