请帮助我,使用下面的代码。我正在尝试使用 javascript 和 nedb 数据库验证登录。我做错了什么。
登录.html
<form name="login" onSubmit="return validateForm();" action="home.html" method="post">
<input type="text" name="user" id="user" placeholder=" Enter Username" required/>
<br>
<input type="password" name="pass" id="pass" placeholder="Enter Password" required/>
<input type="submit" value="Login">
</form>
登录验证.js
此代码旨在验证、检查和查询数据库中的用户名和密码,但事实并非如此。出现对话框时单击确定后,它会转到 home.html。
const database = require('../scripts/logindb');
function validateForm() {
var user = document.loginform.user.value;
var pass = document.loginform.pass.value;
database.getAdmin(function(admin){
var username = admin.username;
var password = admin.password;
if ((user == username) && (pass == password)) {
return false;
}
else {
alert ("Error , please check your username and password");
return false;
}
});
}
登录数据库.js
var Datastore = require('nedb');
db = new Datastore({ filename: 'db/admin.db', autoload: true });
exports.addAdmin = function(firstname, lastname, username, password)
{
var admin = {
"firstname": firstname,
"lastname": lastname,
"username": username,
"password": password
};
db.insert(admin, function(err, newDoc) {
if (err) throw err;
console.log("Table created!");
db.close();
});
};
exports.getAdmin = function(fnc) {
db.find({}, function(err, docs) {
fnc(docs);
});
}