From cd7661d0f7421a264b781d306131a0d1569b1c4c Mon Sep 17 00:00:00 2001 From: 65160381 <65160381@go.buu.ac.th> Date: Tue, 25 Mar 2025 04:57:50 +0700 Subject: [PATCH] 1 --- controllers/userController.js | 80 ++++++++++++++++++++--------------- 1 file changed, 45 insertions(+), 35 deletions(-) diff --git a/controllers/userController.js b/controllers/userController.js index c626bfd..c4e231b 100644 --- a/controllers/userController.js +++ b/controllers/userController.js @@ -16,47 +16,57 @@ const pool = mysql.createPool({ }); -// สมัครสมาชิก -router.post('/register', (req, res) => { - const { email, password } = req.body; - bcrypt.hash(password, 10, (err, hashedPassword) => { - if (err) { - return res.status(500).json({ message: 'Error hashing password' }); - } - const query = 'INSERT INTO users (email, password) VALUES (?, ?)'; - db.query(query, [email, hashedPassword], (err, result) => { +// หน้า Register +router.get('/register', (req, res) => { + res.render('register'); // โหลดหน้า Register + }); + + // หน้า Login + router.get('/login', (req, res) => { + res.render('login'); // โหลดหน้า Login + }); + + // สมัครสมาชิก + router.post('/register', (req, res) => { + const { email, password } = req.body; + bcrypt.hash(password, 10, (err, hashedPassword) => { if (err) { - return res.status(500).json({ message: 'Error registering user' }); + return res.status(500).json({ message: 'Error hashing password' }); } - res.redirect('/'); + const query = 'INSERT INTO users (email, password) VALUES (?, ?)'; + db.query(query, [email, hashedPassword], (err, result) => { + if (err) { + return res.status(500).json({ message: 'Error registering user' }); + } + res.redirect('/'); + }); }); }); -}); - -// ล็อกอิน -router.post('/login', (req, res) => { - const { email, password } = req.body; - const query = 'SELECT * FROM users WHERE email = ?'; - db.query(query, [email], (err, result) => { - if (err) { - return res.status(500).json({ message: 'Error logging in' }); - } - if (result.length === 0) { - return res.status(404).json({ message: 'User not found' }); - } - const user = result[0]; - bcrypt.compare(password, user.password, (err, isMatch) => { + + // ล็อกอิน + router.post('/login', (req, res) => { + const { email, password } = req.body; + const query = 'SELECT * FROM users WHERE email = ?'; + db.query(query, [email], (err, result) => { if (err) { - return res.status(500).json({ message: 'Error comparing password' }); + return res.status(500).json({ message: 'Error logging in' }); } - if (!isMatch) { - return res.status(400).json({ message: 'Invalid credentials' }); + if (result.length === 0) { + return res.status(404).json({ message: 'User not found' }); } - const token = jwt.sign({ userId: user.user_id }, 'secretkey', { expiresIn: '1h' }); - res.cookie('token', token); - res.redirect('/'); + const user = result[0]; + bcrypt.compare(password, user.password, (err, isMatch) => { + if (err) { + return res.status(500).json({ message: 'Error comparing password' }); + } + if (!isMatch) { + return res.status(400).json({ message: 'Invalid credentials' }); + } + const token = jwt.sign({ userId: user.user_id }, 'secretkey', { expiresIn: '1h' }); + res.cookie('token', token); + res.redirect('/'); + }); }); }); -}); - -module.exports = router; + + module.exports = router; \ No newline at end of file -- GitLab