/** * This method performs login functionality * @param LoginData $userLoginData * @throws CustomException if nickname not found or password does not match or other login error occurred */ public function login(LoginData $userLoginData) { $userDAO = new UserDAO(); if ($userDAO->doNicknameExistInDB($userLoginData->getNickname())) { if (password_verify($userLoginData->getPassword(), $userDAO->getUserPasswordFromDB($userLoginData->getNickname()))) { session_regenerate_id(); $_SESSION['tastyRecipeUser'] = $userDAO->getUserIdFromDB($userLoginData); } else { throw new CustomException("Password do not match with username you entered! :( Try again!"); } } else { throw new CustomException("We could not find the nickname you entered. :( Make sure you enter right nickname! "); } }