У меня есть приложение, в котором пользователь регистрирует себя, предоставляя свой адрес электронной почты и пароль, которые хранятся в SQLite
DB.Затем пользователь пытается войти в приложение, используя тот же адрес электронной почты и пароль, и после успешного входа перенаправляется на домашнюю страницу.
Я не могу проверить пользователя на основании введенного адреса электронной почты и пароля.Я не уверен, как проанализировать int, возвращенный после выполнения SELECT COUNT(*) FROM user WHERE email=? AND password=? AND active='Y';
для таблицы.
login.ts (вызывается при нажатии кнопки входа в систему)
doLogin(user: User) {
//check if the record exits with the same email and password
this.userProvider.validLogin(user.email, user.password)
.then((data) => {
console.log("Validated user successfully..." + data);
})
.catch((e) => {
console.log("Error: " + JSON.stringify(e));
});
//navigate to next page now
this.navCtrl.push(SetupPage)
.then(() => console.log("Navigating to next page now..."))
.catch((e) => console.log("Error: " + JSON.stringify(e)));
}
user.ts (UserProvider)
validLogin(email: string, password: string): Promise<any> {
console.log("Validate user login..." + email + ", " + password);
return this.databaseProvider.getDatabase().then(database => {
return database.executeSql(SQL_VALID_LOGIN, [email, password])
.then((data) => {
//SHOULD RETURN 1 ROW IF THE USER IS VALID, CURRENTLY RETURNING NaN
//NOT SURE HOW TO PARSE THIS AND RETURN IT BACK
//WANT TO RETURN "TRUE" OR "FALSE"
console.log("Executed Valid Login sql..." + parseInt(data));
}).catch((e) => {
console.error("Error: " + JSON.stringify(e));
});
});
}
Журнал консоли:
[app-scripts] [00:19:59] console.log: Validate user login...ab@ab.com, 123456
[app-scripts] [00:19:59] console.log: Executed Valid Login sql...NaN
[app-scripts] [00:19:59] console.log: Validated user successfully...undefined
[app-scripts] [00:19:59] console.log: Navigating to next page now...