Возникла проблема с веб-приложением, которое я унаследовал как проект, и, к сожалению, я не могу отследить ошибку. Кажется, что модель не загружается, но я могу ошибаться. Любая помощь будет отличной.
код является:
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();
И вы увидите, что там нет экземпляра.
Что делать?
Найдите место, где вы ожидаете инициализации вашей модели. Проверьте, почему это не так.
Других решений пока нет …