Я хочу сделать форму входа в систему без php и jQuery.Я сделал почти все, кроме части, когда вы пишете неправильное имя пользователя, вы получаете простое сообщение, которое говорит «Неверное имя пользователя или пароль» под вводом или что-то в этом роде.
Я пробовал с ajax, но я не могне заставит это работать.Он просто отправляет мне другую страницу с текстом ответа.
Server.js:
const mariadb = require('mariadb');
const express = require('express');
const bodyparser = require("body-parser");
const app = express();
const path = require('path');
const pool = mariadb.createPool({
host: 'localhost',
port: '3307',
user:'root',
password: 'password',
database:'myDB',
connectionLimit: 5
});
var urlencodedParser = bodyparser.urlencoded({extended:false}) ;
app.get('/', (req, res) => {
res.sendFile('test.html', {
root: path.join(__dirname, './')})
})
app.post('/test', urlencodedParser ,(req, resp) =>{
var username = req.body.username;
var passwordd = req.body.password;
if( username=="" || passwordd=="") {resp.send("Please fill in all fields");}
else{
pool.getConnection().then(conn => {
conn.query("SELECT * FROM users WHERE Username=\"" +username+"\"" ).then((res2) =>{
if(res2.length==0){resp.send("Wrong username or password");}
else{
if(res2[0].Password==passwordd){
resp.sendFile('page.html', {
root: path.join(__dirname, './')
})
}else{resp.send("Wrong username or password");}
}
})
})}
})
app.listen("3001");
<form method="post" action="/test" >
<input name="username" class="pass" placeholder="Username"><br><br>
<div class="di1"></div>
<input name="password" type="password" class="pass1" placeholder="Password"><br><br>
<button type="submit" class="sumbmit-button" >submit</button><br>
<p id="responep" ></p>
</form>
Второй код - мой LogInPage.html.
Я хочу получить текст ответа и поместить его в абзац или что-то, что можно сказатьклиенту, что у них неправильный пароль или имя пользователя на той же странице, без отправки им другой страницы, как это происходит сейчас.