注册登录模块详解————node+mysql

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/weixin_41018304/article/details/102717648

注册登录模块详解————node+mysql

安装依赖的话就不多说了。

导入mysql和express框架,链接端口,启动服务器。(服务器最基本的框架)

//导入mysql包
var mysql = require('mysql');
var connection = mysql.createConnection({
   host: 'localhost',
   user: 'root',
   password: 'root',
   port: '3306',
   database: 'reji'
});
connection.connect();
// 上面是数据库引用加连接

// 1.应用express框架,2.使用public中的资源(放css+js+图片等)
var express = require('express');
var app = express();
app.use(express.static('public')); //使用public中的资源

//链接端口,启动服务器!
var server = app.listen(3000, function () {
   var host = server.address().address
   var port = server.address().port

   console.log("应用实例,访问地址为 http://%s:%s", host, port)

})

开始链接,设置路由,放页面或者放数据。

//参数里为'/'则是默认打开页面
app.get('/', function (req, res) { //这个是在初始界面显示index页面,声明使用index.html这个路径
   res.sendFile(__dirname + "/" + "index.html");
})
app.get('/index', function (req, res) { //这个是在路径为/index中使用index.html这个页面
   res.sendFile(__dirname + "/" + "index.html");
})
//这上面涉及了设路径,引资源,(以后就不提引用xx模块了。)

login,登陆时的路由。

//login登陆进去的地方!
app.get('/login', function (req, res) {
   var response = {
      "account": req.query.account,
      "password": req.query.password,
   };
   // ↓,数据库sql语句,查看数据库中的account,password from user!
   var selectSQL = "select account,password from user where account = '" + req.query.account + "' and password = '" + req.query.password + "'";
   // var selectSQL = "select password from user where account='"+req.query.account+"'";
   var addSqlParams = [req.query.account, req.query.password]; //你输入的密码
   // console.log(addSqlParams) //看看你输入的密码和账号,不看也行
   connection.query(selectSQL, function (err, result) { //开始对比你输入账号密码和数据库的一不一样?
      if (err) { //有错就说
         console.log('[login ERROR] - ', err.message);
         return;
      }
      console.log(result);
      if (result == '') {
         console.log("帐号密码错误");
         res.end("0"); //如果登录失败就给客户端返回0,
      } else {
         console.log("OK");
         res.end("登陆成功"); //如果登录成功
      }
   });
   console.log(response);
   // res.end(JSON.stringify(response));
})

设置注册路由,与注册路由存放数据的接口。

// 设置注册路由
app.get('/register', function (req, res) {
   res.sendFile(__dirname + "/" + "register.html");
})
//注册模块。sql语句,添加user表中的(account,password,name)
var addSql = 'INSERT INTO user(account,password,name) VALUES(?,?,?)';
// 设置路由放数据
app.get('/process_get', function (req, res) {
   // 输出 JSON 格式
   var response = {
      "account": req.query.account,
      "password": req.query.password,
      "name": req.query.name
   };
   var addSqlParams = [req.query.account, req.query.password, req.query.name];
   connection.query(addSql, addSqlParams, function (err, result) {
      if (err) {
         console.log('[INSERT ERROR] - ', err.message);
         res.end("0"); //如果注册失败就给客户端返回0
         return; //如果失败了就直接return不会继续下面的代码
      }
      res.end("注册成功"); //如果注册成功就给客户端返回1
      console.log("OK");
   });
   console.log(response);
   // res.end(JSON.stringify(response));
})

html页面分为index.html(登录页面)和register.html(注册页面)

  <form action="http://127.0.0.1:3000/login" method="GET">
   //要对准放数据的路由,而不是放页面的路由。
    帐号: <input type="text" name="account"> <br>
    密码: <input type="text" name="password"><br>
    <input type="submit" value="登陆">
  </form>
    <form action="http://127.0.0.1:3000/process_get" method="GET">
    帐号: <input type="text" name="account"> <br>
    密码: <input type="text" name="password"><br>
    姓名: <input type="text" name="name">
    <input type="submit" value="注册">
  </form>

猜你喜欢

转载自blog.csdn.net/weixin_41018304/article/details/102717648