Ich versuche, eine sehr einfache Login-Authentifizierung in node.js zu erstellen, mit Bookshelf und sqlite3.Login-Authentifizierung in node.js mit sqlite3 - Bücherregal
Ja, ich weiß, es gibt viele viele Beispiele im Internet, aber keine verwendet entweder sqlite oder Bücherregal, sie basieren alle auf Pass und Mungo.
Wenn ich versuche, die Anmeldung zu überprüfen, erhalte ich die Fehlerdaten.
Dies ist mein Code
Login.js
var express = require('express');
var router = express.Router();
var knex = require('knex')(require('../knexfile.js').development);
var bookshelf = require('bookshelf')(knex);
var app = express();
var User = bookshelf.Model.extend({
tableName: 'users'
});
router.get('/', function (req, res) {
res.render('Login');
});
router.post('/', function (req, res) {
var userName = req.body.user_name;
var pw = req.body.password;
var user_name = User.user_name;
var password = User.password;
if (userName == user_name && pw == password)
{
console.log("Success!");
}
else
{
console.log("Error!");
}
});
module.exports = router;
Login.ejs
<h2>Login</h2>
<form method="post">
<label>User name</label><br>
<input type="text" name="user_name" id="user_name"/><br><br>
<label>Password</label><br>
<input type="password" name="password" id="password"/><br><br>
<input type="submit" value="Login"/>
</form>
Vielen Dank!
Ich habe versucht, Werte anzeigt, wie vorgeschlagen, und ich erkannte beide
var user_name = User.user_name;
var password = User.password;
nicht definiert sind, was bedeutet, es ist etwas falsch mit Abfrage oder etwas sein muss?
UPDATE
UPDATE1
Wenn ich diesen Code versuchen ...
router.post('/', function (req, res) {
new Users().fetch().then(function (processUsers) {
console.log(processUsers.toJSON());
});
});
ich Benutzer erhalten angezeigt, der versucht ... alles um sich einzuloggen seiner Daten ... hovewever ... wenn ich das tue:
var us_name = processUsers.user_name;
console.log(us_name);
heißt es Wert ist undefined
Wenn Sie die Variablen 'userName',' user_name', 'pw' und' password' direkt vor dem 'if' ausgeben, sind sie das, was Sie erwarten? – Pedro
@Pedro nach der Verwendung von console.log, ich fand heraus, dass user_name = User.user_name und password = User.password sind "Undefined", was bedeutet, dass keine Werte aus der Datenbank zurückgegeben werden ... – aiden87
Zeige mir console.log von processUsers und processUsers .toJSON() bitte (leer den Benutzernamen und das Passwort). – Pedro