如何使用 nodejs、javascript 和 nedb 验证用户登录
how to validate user login using nodejs, javascript and nedb
请用下面的代码帮助我。我正在尝试使用 javascript 和 nedb 数据库验证登录。我做错了什么。
login.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>
loginvalidate.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;
}
});
}
logindb.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);
});
}
将 event
作为参数添加到您的 validateForm
函数调用中:
<form name="login" onSubmit="return validateForm(event);" action="home.html" method="post">
然后在您的 validateForm
函数中对传入的 event
参数使用 preventDefault()
:
function validateForm(event) {
event.preventDefault();
// other code here
return false;
}
此外 require
不是常规 JavaScript 的一部分,它在 NodeJS 中用于加载模块。
您需要将 javascript 文件加载到 HTML:
<script src="../scripts/logindb"></script>
请用下面的代码帮助我。我正在尝试使用 javascript 和 nedb 数据库验证登录。我做错了什么。
login.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>
loginvalidate.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;
}
});
}
logindb.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);
});
}
将 event
作为参数添加到您的 validateForm
函数调用中:
<form name="login" onSubmit="return validateForm(event);" action="home.html" method="post">
然后在您的 validateForm
函数中对传入的 event
参数使用 preventDefault()
:
function validateForm(event) {
event.preventDefault();
// other code here
return false;
}
此外 require
不是常规 JavaScript 的一部分,它在 NodeJS 中用于加载模块。
您需要将 javascript 文件加载到 HTML:
<script src="../scripts/logindb"></script>