/** * @param LoginBindingModel $model * @return mixed * @throws \Exception */ public function login(LoginBindingModel $model) : string { $db = Database::getInstance('app'); $result = $db->prepare("SELECT id, username, password FROM users WHERE username = ?"); $result->execute([$model->getUsername()]); if ($result->rowCount() > 0) { $userRow = $result->fetch(); if (password_verify($model->getPassword(), $userRow['password'])) { return $userRow['id']; } } $_SESSION["binding-errors"] = ["Wrong username or password!"]; throw new ApplicationException(""); }