@ Эльман, это мой код для приложения. js и игрока. js и пользователя. js
приложения. js
const express = require('express');
const session = require('express-session');
const cookieParser = require('cookie-parser');
const fileUpload = require('express-fileupload');
const bodyParser = require('body-parser');
const mysql = require('mysql');
const path = require('path');
const app = express();
const passport = require("passport");
const http = require('http');
const flash = require('connect-flash');
var user = require('./routes/user.js');
var routes = require('./routes/index');
const {getHomePageMTaarten} = require('./routes/index1');
const {getHomePage} = require('./routes/index1');
const {getLoginPage1} = require('./routes/index1');
const {getLoginPage} = require('./routes/index1');
const {getLoginPageTest} = require('./routes/index1');
const {addPlayerPage, addPlayer, deletePlayer, editPlayer, editPlayerPage, playerDetailsPage, addReservationPage, addReservation, editReservationPage, editReservation} = require('./routes/player');
const port = 3000;
const {getVerjaadagstaartenPage} = require('./routes/index1');
const {getBruidsTaartenPage} = require('./routes/index1');
// create connection to database
// the mysql.createConnection function takes in a configuration object which contains host, user, password and the database name.
var connection = mysql.createConnection({
host : 'localhost',
user : 'root',
password : '',
database : '',
dateStrings: true,
});
connection.connect();
global.db = connection;
const db = mysql.createConnection ({
host: 'localhost',
user: 'root',
password: 'Emlienashoti55',
database: 'mtaartendb',
dateStrings: true,
});
// connect to database
db.connect((err) => {
if (err) {
throw err;
}
console.log('Connected to database');
});
global.db = db;
// configure middleware
app.set('port', process.env.port || port); // set express to use this port
app.set('views', __dirname + '/views'); // set express to look in this folder to render our view
app.set('view engine', 'ejs'); // configure template engine
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json()); // parse form data client
app.use(express.static(path.join(__dirname, 'public'))); // configure express to use public folder
app.use(fileUpload()); // configure fileupload
app.use(session({
secret: 'justsecret',
resave: false,
saveUninitialized: true,
cookie: {maxAge: 600000}
}));
app.use(passport.initialize());
app.use(passport.session());
app.get('/login', routes.login);//call for login page
app.post('/login', user.login);
app.get('/', getHomePage);
app.get('/homepageMTaartenAdmin', user.homepageMTaartenAdmin);
app.get('/home/logout', user.logout);//call for logout
app.get('/add', addPlayerPage);
app.post('/add', addPlayer);
app.get('/edit/:id', editPlayerPage);
app.post('/edit/:id', editPlayer);
app.get('/playerDetailsPage/:id', playerDetailsPage);
app.get('/delete/:id', deletePlayer);
//app.get('/edit/id', editReservationPage);
//app.post('/edit/:id', editReservation);
// app.get('/', user.homepageMTaarten);
//app.get('/verjaardagsTaartenPage', getVerjaadagstaartenPage);
//app.get('/bruidsTaartenPage', getBruidsTaartenPage);
//app.get('/addReservation', addReservationPage);
//app.post('/addReservation', addReservation);
//Middelware
app.listen(port, () => {
console.log(`Server running on port: ${port}`);
});
function isLoggedIn(req, res, next){
if(req.isAuthenticated()){
return next();
}
res.redirect("login")
};
игрока. js
const fs = require('fs');
module.exports = {
addPlayerPage: (req, res) => {
var user = req.session.user,
userId = req.session.userId;
if(userId == null){
res.redirect("login");
}else {
res.render('add-player.ejs', {
title: 'Welcome to Socka | Add a new player'
,message: ''
});
}
},
addPlayer: (req, res) => {
if (!req.files) {
return res.status(400).send("No files were uploaded.");
}
let message = '';
let achternaam = req.body.achternaam;
let telefoonnummer = req.body.telefoonnummer;
let adres = req.body.adres;
let email = req.body.email;
let typetaart = req.body.typetaart;
let aantalpersonen = req.body.aantalpersonen;
let smaak = req.body.smaak;
let vulling = req.body.vulling;
let opmerking = req.body.opmerking;
let prijs = req.body.prijs;
let reedsVoldaan = req.body.reedsVoldaan;
let nogTeVoldoen = req.body.nogTeVoldoen;
let date = req.body.date;
let username = req.body.username;
let uploadedFile = req.files.image;
let image_name = uploadedFile.name;
let fileExtension = uploadedFile.mimetype.split('/')[1];
image_name = achternaam + '.' + fileExtension;
let usernameQuery = "SELECT * FROM `players` WHERE user_name = '" + username + "'";
// db.query(usernameQuery, (err, result) => {
// if (err) {
// return res.status(500).send(err);
// }
// if (result.length > 0) {
// message = 'Username already exists';
// res.render('add-player.ejs', {
// message,
// title: 'Welcome to Socka | Add a new player'
// });
// } else {
// check the filetype before uploading it
if (uploadedFile.mimetype === 'image/png' || uploadedFile.mimetype === 'image/jpeg' || uploadedFile.mimetype === 'image/gif') {
// upload the file to the /public/assets/img directory
uploadedFile.mv(`public/assets/img/${image_name}`, (err ) => {
if (err) {
return res.status(500).send(err);
}
// send the player's details to the database
let query = "INSERT INTO `players` (achternaam, telefoonnummer, adres, email, typetaart, aantalpersonen, smaak, vulling, opmerking, prijs, reedsVoldaan, nogTeVoldoen, date, image, user_name) VALUES ('" +
achternaam + "', '" + telefoonnummer + "', '" + adres + "', '" + email + "', '" + typetaart + "', '" + aantalpersonen + "', '" + smaak + "','" + vulling + "', '" + opmerking + "', '" + prijs + "', '" + reedsVoldaan + "', '" + nogTeVoldoen + "',STR_TO_DATE ('" + date + "', '%d-%m-%Y'), '" + image_name + "', '" + username + "')";
db.query(query, (err, result) => {
if (err) {
return res.status(500).send(err);
}
res.redirect('/homepageMTaartenAdmin');
});
});
} else {
message = "Invalid File format. Only 'gif', 'jpeg' and 'png' images are allowed.";
res.render('add-player.ejs', {
message,
title: 'Welcome to Socka | Add a new player'
});
}
// }
// });
},
editPlayerPage: (req, res) => {
var user = req.session.user,
userId = req.session.userId;
if(userId == null){
res.render('login', {
message: 'Uw inlog sessie is verlopen. Log aub opnieuw in.'
})
};
console.log(req);
let playerId = req.params.id;
let query = "SELECT * FROM `players` WHERE id = '" + playerId + "'";
// let query1 ="SELECT achternaam, telefoonnummer, adres, email, typetaart, aantalpersonen, smaak, vulling, opmerking, prijs, reedsVoldaan, nogTeVoldoen, DATE_FORMAT(date, '%d-%m-%Y') date, image, user_name FROM `players` WHERE id = '" + playerId + "' ORDER BY id ASC";
db.query(query, (err, result) => {
if (err) {
console.log(playerId);
return res.status(500).send(err);
};
console.log(playerId);
res.render('edit-player.ejs', {
title: 'Edit Player'
,player: result[0]
,message: ''
});
});
},
editPlayer: (req, res) => {
let playerId = req.params.id;
let achternaam = req.body.achternaam;
let telefoonnummer = req.body.telefoonnummer;
let adres = req.body.adres;
let email = req.body.email;
let aantalpersonen = req.body.aantalpersonen;
let typetaart = req.body.typetaart;
let smaak = req.body.smaak;
let vulling = req.body.vulling;
let opmerking = req.body.opmerking
let prijs = req.body.prijs;
let reedsVoldaan = req.body.reedsVoldaan;
let nogTeVoldoen = req.body.nogTeVoldoen;
let date = req.body.date;
let query = "UPDATE `players` SET `achternaam` = '" + achternaam + "', `telefoonnummer` = '" + telefoonnummer + "', `adres` = '" + adres + "', `email` = '" + email + "', `typetaart` = '" + typetaart + "', `aantalpersonen` = '" + aantalpersonen + "', `smaak` = '" + smaak + "', `vulling` = '" + vulling + "', `opmerking` = '" + opmerking + "', `prijs` = '" + prijs + "', `reedsVoldaan` = '" + reedsVoldaan + "', `nogTeVoldoen` = '" + nogTeVoldoen + "', `date` = STR_TO_DATE ('" + date + "', '%d-%m-%Y') WHERE `players`.`id` = '" + playerId + "'";
db.query(query, (err, result) => {
if (err) {
return res.status(500).send(err);
}
res.redirect('/homepageMTaartenAdmin');
});
},
deletePlayer: (req, res) => {
let playerId = req.params.id;
let getImageQuery = 'SELECT image from `players` WHERE id = "' + playerId + '"';
let deleteUserQuery = 'DELETE FROM players WHERE id = "' + playerId + '"';
db.query(getImageQuery, (err, result) => {
if (err) {
return res.status(500).send(err);
}
let image = result[0].image;
fs.unlink(`public/assets/img/${image}`, (err) => {
if (err) {
return res.status(500).send(err);
}
db.query(deleteUserQuery, (err, result) => {
if (err) {
return res.status(500).send(err);
}
res.redirect('/homepageMTaartenAdmin');
});
});
});
},
playerDetailsPage: (req, res) => {
var user = req.session.user,
userId = req.session.userId;
if(userId == null){
res.render('login', {
message: 'Uw sessie is verlopen. Log A.U.B opnieuw in'
}
)};
let playerId = req.params.id;
let query = "SELECT * FROM `players` WHERE id = '" + playerId + "' ";
db.query(query, (err, result) => {
if (err) {
return res.status(500).send(err);
console.log(err);
}
res.render('playerDetailsPage.ejs', {
title: 'Edit Player'
,player: result[0]
,message: ''
});
});
}
};
пользователь. js
exports.login = function(req, res){
var message = '';
var sess = req.session;
if(req.method == "POST"){
var post = req.body;
var name= post.user_name;
var pass= post.password;
var sql="SELECT id, first_name, last_name, user_name FROM `users` WHERE `user_name`='"+name+"' and password = '"+pass+"'";
db.query(sql, function(err, results){
if(results.length){
req.session.userId = results[0].id;
req.session.user = results[0];
console.log(results[0].id);
res.redirect('/homepageMTaartenAdmin');
}
else{
message = 'Wachtwoord of gebruikersnaam is incorrect.';
res.render('login.ejs',{message: message});
}
});
}
// else {
// res.render('index.ejs',{message: message});
// }
};
exports.homepageMTaartenAdmin = function(req, res, next){
var user = req.session.user,
userId = req.session.userId;
console.log('ddd='+userId);
if(userId == null){
res.redirect("login");
return;
}
var sql = "SELECT * FROM `players` ORDER BY id ASC"; // query database to get all the players
var sql1 = "SELECT achternaam, telefoonnummer, adres, email, typetaart, aantalpersonen, smaak, vulling, opmerking, prijs, reedsVoldaan, nogTeVoldoen, DATE_FORMAT(date, '%d-%m-%Y') date, image, user_name FROM `players` ORDER BY id ASC;"
var sql2 = "SELECT p.*, DATE_FORMAT(date, '%d-%m-%Y') formatted_dateFROM `players` p ORDER BY id ASC";
db.query(sql, function(err, result){
res.render('homepageMTaartenAdmin', {players:result});
// console.log(result);
});
};
exports.homepageMTaarten = function(req, res, next){
// var user = req.session.user,
// userId = req.session.userId;
// console.log('ddd='+userId);
// if(userId == null){
// res.redirect("login");
// return;
// } else {
res.redirect("homepageMTaarten");
// }
// var sql="SELECT * FROM `players` ORDER BY id ASC"; // query database to get all the players
// db.query(sql, function(err, result){
// res.render('homepageMTaartenAdmin', {players:result});
// // result = result.map
// });
};
exports.logout = function(req,res){
req.session.destroy(function(err) {
res.redirect('/');
})
};