Hello, When I try to submit an error message in my page with the ejs template it gives me a message is undefined
folder controllers
const postRegister = (req, res) =>{
const {name, email, password, password2} = req.body
console.log(req.body);
bd.query('SELECT email FROM users WHERE email = ?', [email], async (err, results) =>{
if(err) console.log(err);
if(results.length > 0){
return res.render('register', {message: "l'email existe déja"})
} else if(password !== password2){
return res.render('register', {message: "les mots de passe ne sont pas identiques"})
}
let haspassword = await bcrypt.hash(password, 8)
bd.query('INSERT INTO users SET ?', {name: name, email: email, password: haspassword}, (err, results) =>{
if(err){
console.log(err)
} else{
console.log(results);
return res.render('register', {
message: 'Félicitation, vous êtes enregistrés'
})
}
})
})
}
folder page ejs
<% if (message) { %>
<div class="mt-5 mb-3">
<div class="alert alert-warning alert-dismissible fade show" role="alert">
<strong><%= message %></strong>
<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
</div>
</div>
<% } %>
<div class="mt-5 bg-dark text-white">
<form method="POST" action ='/ajouterPost' class="p-5">
<div class="mb-3">
<label for="exampleInputName1" class="form-label">Name Complet</label>
<input type="text" class="form-control" id="name" aria-describedby="nameHelp" name ='name'>
</div>
<div class="mb-3">
<label for="exampleInputEmail1" class="form-label">Email address</label>
<input type="email" class="form-control" id="email" aria-describedby="emailHelp" name ='email'>
</div>
<div class="mb-3">
<label for="exampleInputPassword1" class="form-label">Password</label>
<input type="password" class="form-control" id="password" name="password">
</div>
<div class="mb-3">
<label for="exampleInputPassword2" class="form-label">verifie Password</label>
<input type="password" class="form-control" id="password2" name ='password2'>
</div>
<button type="submit" class="btn btn-primary form-control">Submit</button>
</form>
</div>
</div>
RESULTS ERROR
ReferenceError: D:\Node js\login-mysql\views\register.ejs:20
18| </div>
19|
>> 20| <% if (message) { %>
21| <div class="mt-5 mb-3">
22| <div class="alert alert-warning alert-dismissible fade show" role="alert">
23| <strong><%= message %></strong>
message is not defined
at eval (eval at compile (D:\Node js\login-mysql\node_modules\ejs\lib\ejs.js:662:12), <anonymous>:18:10)
at register (D:\Node js\login-mysql\node_modules\ejs\lib\ejs.js:692:17)
at tryHandleCache (D:\Node js\login-mysql\node_modules\ejs\lib\ejs.js:272:36)
at View.exports.renderFile [as engine] (D:\Node js\login-mysql\node_modules\ejs\lib\ejs.js:489:10)
at View.render (D:\Node js\login-mysql\node_modules\express\lib\view.js:135:8)
at tryRender (D:\Node js\login-mysql\node_modules\express\lib\application.js:640:10)
at Function.render (D:\Node js\login-mysql\node_modules\express\lib\application.js:592:3)
at ServerResponse.render (D:\Node js\login-mysql\node_modules\express\lib\response.js:1012:7)
at getRegsiter (D:\Node js\login-mysql\controllers\index.js:19:9)
at Layer.handle [as handle_request] (D:\Node js\login-mysql\node_modules\express\lib\router\layer.js:95:5)
type or paste code here