Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const express = require('express');
- const session = require('express-session');
- const cookieParser = require('cookie-parser');
- const bodyParser = require('body-parser');
- const crypto = require('crypto');
- const path = require('path');
- const mysql = require('mysql');
- var MySQLStore = require('express-mysql-session')(session);
- //START APP
- const app = express();
- //SESSION-STORE CONFIG
- var options = {
- host: 'localhost',
- user: 'root',
- password: '',
- database: 'nodedb'
- };
- //SESSION-STORE START
- var sessionStore = new MySQLStore(options);
- // MYSQL CONFIG
- const db = mysql.createConnection ({
- host: 'localhost',
- user: 'root',
- password: '',
- database: 'nodedb'
- });
- //MYSQL CONNECTION
- db.connect((err) => {
- if(err) throw err;
- console.log('Connected to database!');
- });
- //APP CONFIGURATION
- app.set('view engine', 'ejs');
- app.set('views', path.join(__dirname, '/views/pages'));
- app.use(bodyParser.urlencoded({extended : true}));
- app.use(bodyParser.json());
- app.use(cookieParser());
- app.use(session({
- key: 'session_cookie_name',
- secret: 'session_cookie_secret',
- store: sessionStore,
- resave: false,
- saveUninitialized: false
- }));
- //GET ROUTES
- app.get('/', (req, res) => {
- let succMessage = req.session.succMessage;
- let errMessage = req.session.errMessage;
- req.session.succMessage = '';
- req.session.errMessage = '';
- res.render('index', { succMessage : succMessage,
- errMessage : errMessage });
- });
- app.get('/logged', (req, res) => {
- res.render('logged', { user : req.session.user[0] });
- });
- app.get('/logout', (req, res) => {
- req.session.destroy((err) => {
- if(err) throw err;
- });
- res.redirect('/');
- });
- //POST ROUTES
- app.post('/login', (req, res) => {
- let login = req.body.login;
- let password = req.body.password;
- db.query("SELECT * FROM `users` WHERE username = ?", [login], (err, result) => {
- if(err) throw err;
- if(result.length > 0) {
- if(password == result[0].password) {
- req.session.user = result;
- req.session.logged = true;
- res.redirect('/logged');
- }
- else {
- req.session.errMessage = 'Wrong password';
- res.redirect('/');
- }
- }
- else {
- req.session.errMessage = 'Wrong username';
- res.redirect('/');
- }
- });
- });
- app.post('/register', (req, res) => {
- let login = req.body.login;
- let password = req.body.password;
- db.query("SELECT * FROM `users` WHERE username = ?", [login], (err, result) => {
- if(err) throw err;
- if(result.length > 0) {
- req.session.errMessage = 'Username already taken';
- res.redirect('/');
- }
- else {
- db.query("INSERT INTO `users` (`id`, `username`, `password`) VALUES (NULL, ?, ?)", [login, password], (err, result) => {
- if(err) throw err;
- req.session.succMessage = 'Successfully registered!';
- res.redirect('/');
- });
- }
- });
- });
- app.listen(3000);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement