Bitte helfen Sie mir, mit dem Code unten. Ich versuche, Login mit Javascript und NEDB-Datenbank zu validieren. Was mache ich falsch?Wie validiere ich die Benutzeranmeldung mit nodejs, javascript und 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
Dieser Code bestätigen soll, prüfen und die Datenbank für den Benutzernamen und das Passwort abgefragt werden, aber es funktioniert nicht. es geht weiter zur home.html, nachdem ok geklickt wurde, wenn der Dialog erscheint.
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);
});
}
Vielen Dank für die Antwort, werde ich es ausprobieren. – Mannie411
Verwenden von 'function validateForm (event) {event.preventDefault(); return false;} 'verhindert, dass die Seite aufgerufen wird. Der Code in loginvalidate.js kann die Datenbank jedoch nicht nach Benutzername und Kennwort abfragen. – Mannie411