現在Node.js、Express.js、MySQLを使ってラグイン機能を実装しようとしています。bcryptモジュールを使っています.
Ndemonコマンドでサーバーに繋げる時に下のようなエラーが出てしまいます。
エラーが指摘している部分を確認しましたが、自分ではエラーの原因がわかりませんでした。
どこのコードを直せばうまく動くのでしようか
js
1//jshint esversion:6 2 3const express = require("express"); 4const bodyParser = require("body-parser"); 5const ejs = require("ejs"); 6const app = express(); 7const mysql = require("mysql"); 8const bcrypt = require("bcrypt"); 9 10app.use(express.static("public")); 11app.set("view engine", "ejs"); 12app.use( 13 bodyParser.urlencoded({ 14 extended: true, 15 }) 16); 17 18const connection = mysql.createConnection({ 19 host: "localhost", 20 user: "root", 21 password: "test", 22 database: "login_practice", 23}); 24 25connection.connect((err) => { 26 if (err) { 27 console.log("error connecting: " + err.stack); 28 return; 29 } 30 console.log("success to connect to DB"); 31}); 32 33app.get("/", (req, res) => { 34 res.render("home"); 35}); 36 37app.get("/login", (req, res) => { 38 res.render("login"); 39}); 40 41app.get("/register", (req, res) => { 42 res.render("register"); 43}); 44 45app.post("/register", async (req, res) => { 46 try { 47 const salt = await bcrypt.genSalt(); 48 const hashedPassword = await bcrypt.hash(req.body.password, salt); 49 connection.query( 50 "INSERT INTO user (email, password) VALUES (?, ?)", 51 [req.body.useremail, hashedPassword], 52 (error, results) => { 53 res.render("secrets"); 54 } 55 ); 56 } catch { 57 console.log("error"); 58 } 59}); 60 61 62//ここが問題のコードです 63app.post("/login", async (req, res) => { 64 connection.query( 65 "SELECT * FROM user WHERE email=?", 66 [req.body.useremail], 67 (error, foundUser) => { 68 if (foundUser.useremail == null) { 69 res.status(400).send("Cannot find user"); 70 } 71 try { 72 if (await bcrypt.compare(req.body.password, foundUser.password)) { 73 res.render("secrets"); 74 } else { 75 res.send("email or password is wrong"); 76 } 77 } catch { 78 res.status(500).send(); 79 } 80 }, 81 ); 82}); 83 84app.listen(3000, () => { 85 console.log("Server is running on port 3000"); 86});
あなたの回答
tips
プレビュー