Я использую MySQL для получения данных с помощью формы входа. Я также использую node.js и pug для отображения нового содержимого после отправки / получения данных. Проблема, которую я обнаружил, заключается в том, что я не совсем уверен, сохраняется ли мое хранилище сеансов. Я проверил его на другой странице, и кажется, что он отображает «имя пользователя, вошедшего в систему», но как только я перенаправляю его на index.pug, ничего не отображается.
Вот мой node.js код:
const express = require('express');
let mysql = require('mysql');
const bodyParser = require('body-parser');
session = require('express-session');
const port = 3000;
let path = require('path');
/*Get database connection*/
let connection = mysql.createConnection({
host: '', (hidden atm for security purposes)
user: '',
password: '',
database: ""
});
/*Connect and console log if successful*/
connection.connect(function (err) {
if(err) throw err;
console.log("Connected");
});
const app = express();
app.use('/', express.static(__dirname + "/"));
/*For login*/
app.use(session({
secret: 'secret',
resave: true,
saveUninitialized: true,
}));
app.use(bodyParser.urlencoded({extended: true}));
app.use(bodyParser.json());
app.set('views', path.join(__dirname, '/views'));
app.get('/', function (req, res) {
res.sendFile('index.html', {root: __dirname});
});
app.listen(port, () => console.log(`Example app listening on port ${port}!`));
/*LOGIN*/
app.post('/auth', function(request, response) {
let username = request.body.username;
let password = request.body.password;
if (username && password) {
connection.query('SELECT * FROM userAccounts WHERE username = ? AND password = ?', [username, password], function(error, results) {
if (results.length > 0) {
request.session.loggedin = true;
request.session.username = username;
response.render('index.pug');
} else {
response.send('Incorrect Username and/or Password!');
}
response.end();
});
} else {
response.send('Please enter Username and Password!');
response.end();
}
});
app.get('index.pug', function(request, response) {
if (request.session.loggedin) {
/*
response.setHeader('Content-Type', 'index.pug');
*/
response.send('Welcome back, ' + request.session.username + '!');
} else {
response.send('Please login to view this page!');
}
response.end();
});
Нужно ли что-то добавить в мой index.pug или я что-то упустил? Я просто хочу отобразить имя пользователя, вошедшего в систему, вверху страницы ... а также убедиться, что мое хранилище сеансов сохраняется! Спасибо!