From dc68ffa98c4f03ceab459f7520bf064b6a7f31fc Mon Sep 17 00:00:00 2001 From: 65160264 <65160264@go.buu.ac.th> Date: Mon, 24 Mar 2025 07:10:11 +0700 Subject: [PATCH] code Done --- app.js | 12 +- db.js | 1 - package-lock.json | 10 ++ package.json | 1 + public/css/style.css | 234 +++++++++++++++++++----------- public/uploads/1742773725716.jpg | Bin 0 -> 2227 bytes public/uploads/1742773853188.avif | Bin 0 -> 30921 bytes public/uploads/1742773923536.jpg | Bin 0 -> 32651 bytes routes/auth.js | 11 +- routes/categories.js | 19 ++- routes/products.js | 76 +++++++--- views/addCategory.ejs | 16 ++ views/addProduct.ejs | 9 ++ views/categories.ejs | 36 ++--- views/products.ejs | 8 + 15 files changed, 301 insertions(+), 132 deletions(-) create mode 100644 public/uploads/1742773725716.jpg create mode 100644 public/uploads/1742773853188.avif create mode 100644 public/uploads/1742773923536.jpg create mode 100644 views/addCategory.ejs diff --git a/app.js b/app.js index 15ca045..316a747 100644 --- a/app.js +++ b/app.js @@ -20,14 +20,10 @@ app.use(express.static(path.join(__dirname, 'public'))); // การตั้งค่า body-parser สำหรับรับข้อมูลจากแบบฟอร์ม app.use(express.urlencoded({ extended: true })); app.use(express.json()); -app.use((req, res, next) => { - res.locals.session = req.session; // ส่ง session ไปที่ทุกไฟล์ EJS - next(); -}); // กำหนดการใช้งาน session app.use(session({ - secret: 'your_secret_key', + secret: 'RUK', // ใช้ key ที่คุณต้องการ resave: false, saveUninitialized: false })); @@ -35,6 +31,12 @@ app.use(session({ // เพิ่มการตั้งค่าเสิร์ฟไฟล์จากโฟลเดอร์ 'uploads' app.use('/uploads', express.static(path.join(__dirname, 'public/uploads'))); +// ส่งค่า session ไปที่ทุกไฟล์ EJS +app.use((req, res, next) => { + res.locals.session = req.session; // ส่ง session ไปที่ทุกไฟล์ EJS + next(); +}); + // กำหนด Routes สำหรับหน้าอื่นๆ import authRoutes from './routes/auth.js'; import productRoutes from './routes/products.js'; diff --git a/db.js b/db.js index bbe4131..9bc7e14 100644 --- a/db.js +++ b/db.js @@ -1,7 +1,6 @@ import mysql from 'mysql2'; import dotenv from 'dotenv'; - dotenv.config(); const db = mysql.createConnection({ diff --git a/package-lock.json b/package-lock.json index ce0da57..6b44279 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,6 +10,7 @@ "license": "ISC", "dependencies": { "bcrypt": "^5.1.1", + "bcryptjs": "^3.0.2", "body-parser": "^1.20.3", "dotenv": "^16.4.7", "ejs": "^3.1.10", @@ -198,6 +199,15 @@ "node": ">= 10.0.0" } }, + "node_modules/bcryptjs": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/bcryptjs/-/bcryptjs-3.0.2.tgz", + "integrity": "sha512-k38b3XOZKv60C4E2hVsXTolJWfkGRMbILBIe2IBITXciy5bOsTKot5kDrf3ZfufQtQOUN5mXceUEpU1rTl9Uog==", + "license": "BSD-3-Clause", + "bin": { + "bcrypt": "bin/bcrypt" + } + }, "node_modules/binary-extensions": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", diff --git a/package.json b/package.json index 40c891b..43772cb 100644 --- a/package.json +++ b/package.json @@ -12,6 +12,7 @@ "description": "", "dependencies": { "bcrypt": "^5.1.1", + "bcryptjs": "^3.0.2", "body-parser": "^1.20.3", "dotenv": "^16.4.7", "ejs": "^3.1.10", diff --git a/public/css/style.css b/public/css/style.css index 165c496..145e027 100644 --- a/public/css/style.css +++ b/public/css/style.css @@ -1,139 +1,207 @@ -/* ตั้งค่าพื้นฐาน */ +/* กำหนดค่าเริ่มต้น */ * { margin: 0; padding: 0; box-sizing: border-box; - font-family: Arial, sans-serif; -} - -body { - background-color: #f4f7fa; - color: #333; - font-size: 16px; + font-family: 'Arial', sans-serif; line-height: 1.6; } -h2 { - color: #333; - font-size: 24px; - margin-bottom: 20px; +/* ส่วนหัว (Header) */ +header { + background-color: #2c3e50; /* สีเข้มสำหรับหัว */ + color: #ecf0f1; /* สีอ่อนสำหรับตัวอักษร */ + padding: 10px 0; text-align: center; } -/* ส่วนฟอร์มเพิ่มสินค้า */ -form { - background-color: #fff; - padding: 20px; - border-radius: 8px; - box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); - max-width: 500px; - margin: 0 auto; - margin-top: 40px; +header h1 { + font-size: 28px; } -form div { - margin-bottom: 20px; +nav ul { + display: flex; + justify-content: center; + list-style: none; + padding: 0; + margin: 0; +} + +nav li { + margin: 0 15px; } -form label { - font-weight: bold; +nav a { + color: #ecf0f1; + text-decoration: none; + font-size: 16px; + padding: 10px 15px; display: block; - margin-bottom: 8px; - color: #555; + border-radius: 5px; } -form input[type="text"], -form input[type="number"], -form input[type="file"] { +nav a:hover { + background-color: #3498db; /* สีพื้นหลังเมื่อ hover */ + color: white; + transition: background-color 0.3s ease; +} + +/* ฟอร์มการเพิ่มสินค้า */ +form { + background-color: #f9f9f9; /* สีพื้นหลังที่นุ่มนวล */ + padding: 20px; + border-radius: 8px; + box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); + max-width: 600px; + margin: 20px auto; +} + +form input, +form select, +form button { width: 100%; padding: 10px; + margin-bottom: 15px; + border-radius: 5px; border: 1px solid #ccc; - border-radius: 4px; - font-size: 16px; } -form input[type="text"]:focus, -form input[type="number"]:focus, -form input[type="file"]:focus { - border-color: #007bff; - outline: none; +form input[type="text"], +form input[type="number"], +form select { + background-color: #fff; } form button { - width: 100%; - padding: 10px; - background-color: #28a745; + background-color: #3498db; /* สีพื้นหลังปุ่ม */ + color: white; + font-size: 16px; border: none; - border-radius: 4px; - color: #fff; - font-size: 18px; cursor: pointer; - transition: background-color 0.3s; } form button:hover { - background-color: #218838; + background-color: #2980b9; /* สีพื้นหลังปุ่มเมื่อ hover */ } -/* ส่วนแสดงสินค้าทั้งหมด */ +/* ตารางสินค้า */ +table { + width: 100%; + border-collapse: collapse; + margin-top: 20px; +} + +table th, +table td { + padding: 15px; + text-align: center; + border: 1px solid #ddd; +} + +table th { + background-color: #2c3e50; /* สีพื้นหลังหัวตาราง */ + color: #fff; +} + +table tr:nth-child(even) { + background-color: #ecf0f1; /* สีพื้นหลังแถวคู่ */ +} + +table tr:hover { + background-color: #bdc3c7; /* สีพื้นหลังเมื่อ hover แถว */ +} + +table a { + color: #3498db; + text-decoration: none; + padding: 5px 10px; + border-radius: 5px; +} + +table a:hover { + background-color: #3498db; + color: white; +} + +/* หน้าแสดงหมวดหมู่สินค้า */ ul { - list-style-type: none; + list-style: none; padding: 0; - margin-top: 20px; - display: grid; - grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); - gap: 20px; } ul li { - background-color: #fff; + border: 1px solid #ddd; + padding: 15px; + margin-bottom: 20px; border-radius: 8px; - box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); - padding: 20px; - text-align: center; - transition: transform 0.3s ease, box-shadow 0.3s ease; + background-color: #f9f9f9; + display: flex; + justify-content: space-between; + align-items: center; +} + +ul li h3 { + font-size: 18px; } -ul li:hover { - transform: translateY(-5px); - box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1); +ul li p { + margin: 5px 0; } ul li img { - max-width: 100%; - height: auto; + max-width: 100px; border-radius: 8px; - margin-bottom: 10px; } -ul li h3 { +ul li a { + text-decoration: none; + padding: 10px 15px; + background-color: #3498db; + color: white; + border-radius: 5px; +} + +ul li a:hover { + background-color: #2980b9; +} + +/* การแสดงผลเมื่อไม่มีข้อมูล */ +.no-data { + text-align: center; font-size: 18px; - color: #333; - margin-bottom: 10px; + color: #7f8c8d; + margin-top: 20px; } -ul li p { - font-size: 16px; - color: #555; +/* ปุ่มที่ใช้บ่อย */ +button { + background-color: #3498db; + color: white; + padding: 10px 20px; + border-radius: 5px; + border: none; + cursor: pointer; } -/* ปรับแต่งการแสดงผลสำหรับหน้าจอมือถือ */ -@media (max-width: 768px) { - ul { - grid-template-columns: 1fr 1fr; - } +button:hover { + background-color: #2980b9; + transition: background-color 0.3s ease; +} - form { - width: 90%; - } +/* ส่วนเท้า (footer) */ +footer { + background-color: #2c3e50; + color: #ecf0f1; + text-align: center; + padding: 20px; + margin-top: 20px; } -@media (max-width: 480px) { - ul { - grid-template-columns: 1fr; - } +footer a { + color: #ecf0f1; + text-decoration: none; +} - form { - width: 95%; - } +footer a:hover { + color: #3498db; } diff --git a/public/uploads/1742773725716.jpg b/public/uploads/1742773725716.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e99f115030ea94eadad6143355aae1ccca74563e GIT binary patch literal 2227 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 TY^J_p4#{dosInNm`u{fpV6Cu$ literal 0 HcmV?d00001 diff --git a/public/uploads/1742773853188.avif b/public/uploads/1742773853188.avif new file mode 100644 index 0000000000000000000000000000000000000000..40b08cf20681dab76bf8fba6984f4ad94a9285fc GIT binary patch literal 30921 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⋙%3J2{89%+#rtZCqq}oHgXor|+AX z)O7+DXuF<Ya%<{|hUv?XU%7Jd`ZwXpNg=oU=CfS8t6p`3XH|jN_la7s-o)Qki7@E@ zlj!CC&P6Ho?$hJH?C0|_wlscvr>XtAiQD>k@`u{!rZwBP1|OgLbvHZr#~HU-9CBmI zPBC)Z$sU&us$BcpkI|X$MQq`<W##w(E98bt_Mhl|)3E4^o__ci(-{xBCl$_Mb9Z!% zN(wRwy>Gl+Y^v3<i5B~tXXYQ{&wcw^h(qJI(1a~)M>ykupZ*ymq&em8_x*J_VQJgL zHzY0lF^Tun#rl%J`736AT*^~tl)s^3=fm<J@<IFi4@qjSpSIlL^jqmfj{CcP3v(ZZ zwkgG2x~zWwVA9JNx4HE;4Z$Uk%dBom&dGT8O>QP<hu&^~ow->@ZcOGp`9rmzH97nb zQ^Jltzr!CgUw*ytfOGh?3-_G%i0oeb&*9P+U*pE<9q}ex|6JeFc#nO%H-E`1=2O!c zvQ|Zj?)}%5)&Fb5clikGcHys)8&B`{NcND8Q3_Phd}%K}J?>KbW)ZJ*;gY}1Sd$pf zaldz3`;~jGj_-+;PEute@poQTOFO?vJjv<3N3>yE%j0rQ^VBk-V+lzm3+Jv_8&<T! zaK5{$jBeVqp0oXNo?C?HmgNQ5=<c4J_0L)$=+c$v0;d-Xt=ZVe?!r@Bu56<nAI|yl ya$lU$<ii`Uu6XI0{AdDG#4?3dZ*@1n7Bkz-W6H>ym0x^c#Bbr%r4#a*J^%pS4fTNl literal 0 HcmV?d00001 diff --git a/public/uploads/1742773923536.jpg b/public/uploads/1742773923536.jpg new file mode 100644 index 0000000000000000000000000000000000000000..8ca86b366bf5bf7026fc9535d449ba04cd5bff5c GIT binary patch literal 32651 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 E09B8l<p2Nx literal 0 HcmV?d00001 diff --git a/routes/auth.js b/routes/auth.js index 619f068..6f7bc27 100644 --- a/routes/auth.js +++ b/routes/auth.js @@ -4,13 +4,20 @@ import bcrypt from 'bcryptjs'; // ใช้ bcryptjs แทน bcrypt const router = express.Router(); -// หน้า login +// ตรวจสอบ session ก่อนที่จะแสดงหน้า login router.get('/login', (req, res) => { + if (req.session.username) { + return res.redirect('/'); // ถ้าผู้ใช้ล็อกอินแล้วให้ไปที่หน้า dashboard + } res.render('login'); }); + // หน้า register router.get('/register', (req, res) => { + if (req.session.username) { + return res.redirect('/'); // ถ้าผู้ใช้ล็อกอินแล้วให้ไปที่หน้า dashboard + } res.render('register'); }); @@ -57,6 +64,7 @@ router.post('/login', (req, res) => { }); }); + // ออกจากระบบ router.get('/logout', (req, res) => { req.session.destroy((err) => { @@ -67,4 +75,5 @@ router.get('/logout', (req, res) => { }); }); + export default router; diff --git a/routes/categories.js b/routes/categories.js index 5a383af..f5fb7ae 100644 --- a/routes/categories.js +++ b/routes/categories.js @@ -6,7 +6,6 @@ const router = express.Router(); // หน้าแสดงหมวดหมู่ router.get('/', (req, res) => { const query = 'SELECT * FROM categories'; - db.query(query, (err, results) => { if (err) { return res.send('เกิดข้อผิดพลาด'); @@ -15,12 +14,16 @@ router.get('/', (req, res) => { }); }); +// 👉 หน้าเพิ่มหมวดหมู่ (ที่หายไป) +router.get('/add', (req, res) => { + res.render('addCategory'); +}); + // เพิ่มหมวดหมู่ใหม่ router.post('/add', (req, res) => { const { name } = req.body; const query = 'INSERT INTO categories (name) VALUES (?)'; - - db.query(query, [name], (err, result) => { + db.query(query, [name], (err) => { if (err) { return res.send('เกิดข้อผิดพลาด'); } @@ -28,4 +31,14 @@ router.post('/add', (req, res) => { }); }); +// 👉 เส้นทางลบหมวดหมู่ +router.get('/delete/:id', (req, res) => { + const categoryId = req.params.id; + const query = 'DELETE FROM categories WHERE category_id = ?'; + db.query(query, [categoryId], (err) => { + if (err) return res.send('เกิดข้อผิดพลาดในการลบหมวดหมู่'); + res.redirect('/categories'); + }); +}); + export default router; diff --git a/routes/products.js b/routes/products.js index e4dc820..4c77749 100644 --- a/routes/products.js +++ b/routes/products.js @@ -17,59 +17,99 @@ const storage = multer.diskStorage({ }); const upload = multer({ storage: storage }); -// แสดงสินค้าทั้งหมด +// แสดงสินค้าทั้งหมดพร้อมชื่อหมวดหมู่ router.get('/', (req, res) => { - const query = 'SELECT * FROM products'; + if (!req.session.username) { + return res.redirect('/auth/login'); + } + + const query = ` + SELECT p.*, c.name AS category_name + FROM products p + LEFT JOIN categories c ON p.category_id = c.category_id + `; db.query(query, (err, result) => { if (err) { return res.send('เกิดข้อผิดพลาดในการดึงข้อมูล'); } - res.render('products', { products: result, searchQuery: '' }); + res.render('products', { products: result, searchQuery: '', session: req.session }); + }); +}); + +// แสดงสินค้าตามหมวดหมู่ +router.get('/category/:category_id', (req, res) => { + const categoryId = req.params.category_id; + + const query = 'SELECT * FROM products WHERE category_id = ?'; + + db.query(query, [categoryId], (err, result) => { + if (err) { + return res.send('เกิดข้อผิดพลาดในการดึงข้อมูลสินค้า'); + } + + // ส่งข้อมูลสินค้าและหมวดหมู่ไปยังหน้าแสดงสินค้า + res.render('products', { products: result, searchQuery: '', session: req.session }); }); }); + + // ค้นหาสินค้า router.get('/search', (req, res) => { const searchQuery = req.query.search || ''; - const query = 'SELECT * FROM products WHERE name LIKE ?'; + const query = ` + SELECT p.*, c.name AS category_name + FROM products p + LEFT JOIN categories c ON p.category_id = c.category_id + WHERE p.name LIKE ? + `; + db.query(query, [`%${searchQuery}%`], (err, result) => { if (err) return res.send('เกิดข้อผิดพลาดในการค้นหา'); - res.render('products', { products: result, searchQuery }); + res.render('products', { products: result, searchQuery, session: req.session }); }); }); -// หน้าเพิ่มสินค้า +// หน้าเพิ่มสินค้า พร้อมดึง categories ไปแสดง router.get('/add', (req, res) => { - res.render('addProduct'); + if (!req.session.username) { + return res.redirect('/auth/login'); + } + const categoryQuery = 'SELECT * FROM categories'; + db.query(categoryQuery, (err, categories) => { + if (err) return res.send('เกิดข้อผิดพลาดในการดึงหมวดหมู่'); + res.render('addProduct', { session: req.session, categories }); + }); }); -// เส้นทางสำหรับบันทึกสินค้าที่เพิ่มใหม่ +// บันทึกสินค้าที่เพิ่มใหม่พร้อม category router.post('/add', upload.single('image'), (req, res) => { - const { name, price, stock } = req.body; + const { name, price, stock, category_id } = req.body; const image = req.file ? '/uploads/' + req.file.filename : null; - - const query = 'INSERT INTO products (name, price, stock, image) VALUES (?, ?, ?, ?)'; - - db.query(query, [name, price, stock, image], (err, result) => { + + const query = 'INSERT INTO products (name, price, stock, image, category_id) VALUES (?, ?, ?, ?, ?)'; + db.query(query, [name, price, stock, image, category_id], (err) => { if (err) { return res.send('เกิดข้อผิดพลาดในการบันทึกข้อมูลสินค้า: ' + err); } - res.redirect('/products'); // ไปที่หน้าแสดงสินค้าทั้งหมดหลังจากบันทึก + res.redirect('/products'); }); }); - -// หน้าแก้ไขสินค้า +// หน้าแก้ไขสินค้า (ถ้าต้องการสามารถเพิ่มเติมได้ให้เลือก category ด้วย) router.get('/edit/:id', (req, res) => { + if (!req.session.username) { + return res.redirect('/auth/login'); + } const productId = req.params.id; const query = 'SELECT * FROM products WHERE product_id = ?'; db.query(query, [productId], (err, result) => { if (err || result.length === 0) return res.send('ไม่พบสินค้านี้'); - res.render('editProduct', { product: result[0] }); + res.render('editProduct', { product: result[0], session: req.session }); }); }); -// บันทึกข้อมูลสินค้าที่แก้ไข +// แก้ไขสินค้า router.post('/edit/:id', upload.single('image'), (req, res) => { const productId = req.params.id; const { name, price } = req.body; diff --git a/views/addCategory.ejs b/views/addCategory.ejs new file mode 100644 index 0000000..d3de39e --- /dev/null +++ b/views/addCategory.ejs @@ -0,0 +1,16 @@ +<%- include('partials/header') %> + +<h2>เพิ่มหมวดหมู่ใหม่</h2> + +<form action="/categories/add" method="POST"> + <div> + <label for="name">ชื่อหมวดหมู่:</label> + <input type="text" id="name" name="name" required> + </div> + <br> + <button type="submit">บันทึก</button> +</form> + +<a href="/categories" style="margin-top: 20px; display:inline-block;">กลับไปหน้าหมวดหมู่</a> + +<%- include('partials/footer') %> diff --git a/views/addProduct.ejs b/views/addProduct.ejs index 0935385..08450f1 100644 --- a/views/addProduct.ejs +++ b/views/addProduct.ejs @@ -15,6 +15,15 @@ <label>จำนวนสินค้าในคลัง:</label> <input type="number" name="stock" min="0" required> </div> + <div> + <label>หมวดหมู่สินค้า:</label> + <select name="category_id" required> + <option value="">-- กรุณาเลือกหมวดหมู่ --</option> + <% categories.forEach(category => { %> + <option value="<%= category.category_id %>"><%= category.name %></option> + <% }) %> + </select> + </div> <div> <label>รูปสินค้า:</label> <input type="file" name="image" accept="image/*"> diff --git a/views/categories.ejs b/views/categories.ejs index 6bb9029..42f28fc 100644 --- a/views/categories.ejs +++ b/views/categories.ejs @@ -2,27 +2,21 @@ <h2>หมวดหมู่สินค้า</h2> -<table> - <thead> - <tr> - <th>ชื่อหมวดหมู่</th> - </tr> - </thead> - <tbody> - <% if (categories && categories.length > 0) { %> - <% categories.forEach(category => { %> - <tr> - <td><%= category.name %></td> - </tr> - <% }) %> - <% } else { %> - <tr> - <td colspan="1">ไม่มีหมวดหมู่สินค้า</td> - </tr> - <% } %> - </tbody> -</table> +<!-- แสดงหมวดหมู่ --> +<% if (categories && categories.length > 0) { %> + <ul style="list-style: none; padding: 0;"> + <% categories.forEach(category => { %> + <li> + <!-- เพิ่มลิงก์ไปยังสินค้าของหมวดหมู่นั้น --> + <a href="/products/category/<%= category.category_id %>"><%= category.name %></a> + <a href="/categories/delete/<%= category.category_id %>" onclick="return confirm('คุณแน่ใจหรือไม่ที่จะลบหมวดหมู่นี้?');" style="color: red; margin-left: 20px;">ลบ</a> + </li> + <% }) %> + </ul> +<% } else { %> + <p>ไม่มีหมวดหมู่สินค้า</p> +<% } %> -<a href="/categories/add">เพิ่มหมวดหมู่ใหม่</a> +<a href="/categories/add" style="display:inline-block; margin-top: 20px; padding: 10px 20px; background-color: #28a745; color: white; border-radius: 5px; text-decoration: none;">เพิ่มหมวดหมู่ใหม่</a> <%- include('partials/footer') %> diff --git a/views/products.ejs b/views/products.ejs index 99dffe0..5780d4d 100644 --- a/views/products.ejs +++ b/views/products.ejs @@ -2,6 +2,12 @@ <h2>สินค้าทั้งหมด</h2> +<% if (session && session.username) { %> + <p>ยินดีต้อนรับ, <%= session.username %></p> +<% } else { %> + <p>ผู้ใช้ไม่ได้เข้าสู่ระบบ</p> +<% } %> + <form action="/products/search" method="GET"> <input type="text" name="search" placeholder="ค้นหาสินค้า..." value="<%= searchQuery || '' %>"> <button type="submit">ค้นหา</button> @@ -12,6 +18,8 @@ <li> <h3><%= product.name %></h3> <p>ราคา: <%= product.price %> บาท</p> + <p>หมวดหมู่: <%= product.category_id %> <!-- สามารถปรับให้แสดงชื่อหมวดหมู่ได้ ถ้าต้องการ --></p> + <p>จำนวนในสต๊อก: <%= product.stock %> ชิ้น</p> <% if (product.image) { %> <img src="<%= product.image %>" alt="<%= product.name %>" width="100"> <% } else { %> -- GitLab