server:
app.post("/login", (req, res) => {
var gmail = req.headers.gmail;
var username = req.headers.username;
var password = req.headers.password;
console.log(gmail, password, username);
var sql = "SELECT gmail FROM Accounts WHERE gmail = ?";
sql = mysql.format(sql, gmail);
var sql1 = "SELECT username FROM Accounts WHERE username = ?";
sql1 = mysql.format(sql1, username);
var checks = [];
(async () => {
console.log("test");
con.query(sql, function(err, result){
console.log(result);
if (err) console.log("error");
if (result.length == 1)
{
checks[0] = true;
console.log(checks[0]);
}
})
con.query(sql1, function(err, result){
console.log(result);
if (err) console.log("error");
if (result.length == 1)
{
checks[1] = true;
console.log(checks[1]);
}
})
con.query("SELECT password FROM Accounts", async function(err, result){
console.log(result);
if (err) console.log("error");
const Hashes = result;
for(let i = 0; i < Hashes.length; i++){
await bcrypt.compare(password, Hashes[i].password, (err, result) => {
if (result)
{
checks[2] = true;
console.log(checks[2]);
if (checks[0] == true && checks[1] == true) {
res.json("all good");
console.log("test1");
}
}
})
}
})
})();
});
i tried to login in but i get this error: Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client
at ServerResponse.setHeader (_http_outgoing.js:558:11)
at ServerResponse.header (/Users/ahmedm.fawzy/dev_nanos/learning/react/projects/exam/exam-app/server/node_modules/express/lib/response.js:795:10)
at ServerResponse.send (/Users/ahmedm.fawzy/dev_nanos/learning/react/projects/exam/exam-app/server/node_modules/express/lib/response.js:175:12)
at ServerResponse.json (/Users/ahmedm.fawzy/dev_nanos/learning/react/projects/exam/exam-app/server/node_modules/express/lib/response.js:279:15)
at /Users/ahmedm.fawzy/dev_nanos/learning/react/projects/exam/exam-app/server/server.js:151:33 {
code: ‘ERR_HTTP_HEADERS_SENT’
}
[nodemon] app crashed – waiting for file changes before starting…
at the server side
yosof fawzy is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.