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