Javascript 嘿,我不';当使用node.js从html表单向MySql插入数据时,我不知道从哪里开始

Javascript 嘿,我不';当使用node.js从html表单向MySql插入数据时,我不知道从哪里开始,javascript,mysql,node.js,express,Javascript,Mysql,Node.js,Express,我只是想知道从哪里开始让我的html页面使用我的后端代码和数据库。我想用一个基本的html登录页面在我的表格中插入信息,但我发现所有的信息来源都很混乱,也许我在谷歌搜索方面很差劲,但我想知道是否有人能帮我告诉我应该从哪里开始,以及为了实现这一点我还需要学习什么, 下面的代码是我设法学习和实现的 var http = require('http'); var express = require('express'); var app = express(); var fs = require('f

我只是想知道从哪里开始让我的html页面使用我的后端代码和数据库。我想用一个基本的html登录页面在我的表格中插入信息,但我发现所有的信息来源都很混乱,也许我在谷歌搜索方面很差劲,但我想知道是否有人能帮我告诉我应该从哪里开始,以及为了实现这一点我还需要学习什么, 下面的代码是我设法学习和实现的

var http = require('http');
var express = require('express');
var app = express();
var fs = require('fs');
var path = require('path');
var url = require('url');
var pages = require('html-pages');

const css = fs.readFileSync(`${__dirname}/public/art.css`, 'utf-8');
const htmlLogin = fs.readFileSync(`${__dirname}/login.html`, 'utf-8');
const htmlSignUp = fs.readFileSync(`${__dirname}/signup.html`, 'utf-8');


//static files for login
app.use('/login', express.static('./public'));

//
app.get('/login', function(req,res,next) {
    res.writeHead(200, {'Content-Type' :'text/html'});
    res.write(htmlLogin);

    next();
}).listen(3000);

app.get("/signup", function(req,res, next) {
    res.writeHead(200, {'Content-Type':'text/html'});
    res.write(htmlSignUp);

});
这是我的html页面

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <link href="./signup.js">

</head>
  <body>
    <div class="signupBox">
        <h1 id="signUp">Sign Up!</h1>
        <div>
            <input text="text" placeholder="First Name" name="" value="">
        </div>
        <div>
            <input text=text" placeholder="Last Name" name="Last Name" value="">
        </div>
        <div>
            <input text="text" placeholder="Email" name="Email" value="">
        </div>
        <div>
            <input text="text" placeholder="Password" name="Password" value="">
        </div>
        <input id="submit" type="button" name="" value="Sign In">

    </div>
  </body>

  </html>


正如我从你的代码中看到的,你已经设置了登录和注册页面,它比现在更有效,你现在可以保存注册数据,你可以像这样创建新的路由

app.post("/register", function(req,res, next) {
    console.log('request data', req.body) // you will get signup for data here.
});
在注册中,您需要添加如下操作-

<form method="post" action="localhost:3000/register">
   <h1 id="signUp">Sign Up!</h1>
        <div>
            <input text="text" placeholder="First Name" name="" value="">
        </div>
        <div>
            <input text=text" placeholder="Last Name" name="Last Name" value="">
        </div>
        <div>
            <input text="text" placeholder="Email" name="Email" value="">
        </div>
        <div>
            <input text="text" placeholder="Password" name="Password" value="">
        </div>
        <input id="submit" type="button" name="" value="Sign In">
</form>
跳过此帮助。

更新html:

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <link href="./signup.js">

</head>
  <body>
    <div class="signupBox">
        <h1 id="signUp">Sign Up!</h1>
        <form action="signup" method="POST">
        <!-- it's important to define name="xx" here otherwise you'll get 'undefined' value in server side -->
        <div> <input type="text" placeholder="First Name" name="firstname"> </div>
        <div> <input type="text" placeholder="Last Name" name="lastname"> </div>
        <div> <input type="text" placeholder="Email" name="email"> </div>
        <div> <input type="password" placeholder="Password" name="password"> </div>
        <input id="submit" type="button" name="" value="Sign Up">
        </form>
    </div>
  </body>
  </html>

这太好了,您已经添加了express模块,我建议尝试添加表单标签,并为表单标签提供操作,您要在表单标签上点击
eg/signup
,并将输入类型按钮更改为
submit
,这将很好

<div class="signupBox">
     <form action='/signup'>
        <h1 id="signUp">Sign Up!</h1>
        <div>
            <input text="text" placeholder="First Name" name="" value="">
        </div>
        <div>
            <input text=text" placeholder="Last Name" name="Last Name" value="">
        </div>
        <div>
            <input text="text" placeholder="Email" name="Email" value="">
        </div>
        <div>
            <input text="text" placeholder="Password" name="Password" value="">
        </div>
        <input id="submit" type="button" name="" value="Sign In">
     </form>
    </div>

注册

这个页面是用来注册新用户的,不是吗?因为我对您的按钮值设置为“登录”而不是“注册”感到困惑。
<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <link href="./signup.js">

</head>
  <body>
    <div class="signupBox">
        <h1 id="signUp">Sign Up!</h1>
        <form action="signup" method="POST">
        <!-- it's important to define name="xx" here otherwise you'll get 'undefined' value in server side -->
        <div> <input type="text" placeholder="First Name" name="firstname"> </div>
        <div> <input type="text" placeholder="Last Name" name="lastname"> </div>
        <div> <input type="text" placeholder="Email" name="email"> </div>
        <div> <input type="password" placeholder="Password" name="password"> </div>
        <input id="submit" type="button" name="" value="Sign Up">
        </form>
    </div>
  </body>
  </html>
app.post ("/signup", function(req, res) {
        // get info from form
        var firstname = request.body.firstname;
        var lastname = request.body.lastname;
        var email = request.body.email;
        var password = request.body.password;
        var adduserquery = "INSERT INTO `myTable` (`firstname`,`lastname`,`email`,`password`) VALUES ('" + firstname + "', '" + lastname + "', '" + email + "', '" + password + "')";

        if (email) {
           // check if e-mail already exists
            myDB.query('SELECT * FROM `myTable` WHERE email = ?', [email], function(error, results, fields) {
                if (results.length > 0) {
                    response.send('This e-mail is already registered!' );
                } else {
                    // execute query to insert data
                    myDB.query(adduserquery, (err, result) => {
                    if (err) {
                        return response.status(500).send(err);
                    }
                    // if insert is successful, return you to homepage
                    response.redirect('/home');
                });
            }
        });
    }
}
}
<div class="signupBox">
     <form action='/signup'>
        <h1 id="signUp">Sign Up!</h1>
        <div>
            <input text="text" placeholder="First Name" name="" value="">
        </div>
        <div>
            <input text=text" placeholder="Last Name" name="Last Name" value="">
        </div>
        <div>
            <input text="text" placeholder="Email" name="Email" value="">
        </div>
        <div>
            <input text="text" placeholder="Password" name="Password" value="">
        </div>
        <input id="submit" type="button" name="" value="Sign In">
     </form>
    </div>