您现在的位置是: 首页 » 网页代码 » node如何验证用户名是否被注册
网页代码

node如何验证用户名是否被注册

网站优化小编2020年1月7日 68人已围观

下面代码实现的功能是:用node.js连接mysql实现用户的注册和登录,这里主要实现的是后端的验证代码,前端显示部分没具体写出。

网站运营中栏目排名优化技巧

node验证用户名是否被注册方法如下:

1、首先建立数据库reji,数据表user,user表中有account(主键)password和name三个

2、用户进入注册界面,用户输入要注册的账号和密码,前端把用户输入的信息发送给后端,后端对数据进行判断(查询数据库中是否有这个帐号),如果还未注册就允许注册同时把帐号密码和名称写入数据库中并给前端返回1,如果已经注册了就不再允许注册并给前端返回0。

3、用户进入登录界面,用户输入要登录的账号和密码,前面把用户输入的信息发送给后端,后端对数据进行判断(查询这个帐号对应的密码是否与用户输入的密码相符),如果查询到的密码不符则登录失败后端给前面返回0,如果查询到的密码与用户输入的密码相符后端给前面返回1.

后端部分代码:

var mysql  = require('mysql');  //导入mysql包
  
var connection = mysql.createConnection({    
  host     : 'localhost',      
  user     : 'root',             
  password : '123456',      
  port: '3306',                  
  database: 'reji'
});
  
connection.connect();
 
var express = require('express');
var app = express();
  
app.use(express.static('public'));
 //参数里为'/'则是默认打开页面
app.get('/', function (req, res) {
   res.sendFile( __dirname + "/" + "index.html" );
})
 
 
app.get('/login',function (req,res) {
    var response = {
       "account":req.query.account,
       "password":req.query.password,
   };
   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];
      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("1");//如果登录成就给客户端返回1
        }
});
   console.log(response);
   //res.end(JSON.stringify(response));
})
 
app.get('/register.html', function (req, res) {
   res.sendFile( __dirname + "/" + "register.html" );
})
 
//注册模块
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");//如果注册成功就给客户端返回1
        console.log("OK");
});
   console.log(response);
   //res.end(JSON.stringify(response));
})
  
 
 
var server = app.listen(3000, function () {
  
  var host = server.address().address
  var port = server.address().port
  
  console.log("应用实例,访问地址为 http://%s:%s", host, port)
  
})

 前端部分代码:index.html

<html>
<body>
<form action="http://127.0.0.1:3000/login" method="GET">
帐号: <input type="text" name="account">  <br>
密码: <input type="text" name="password">
<input type="submit" value="Submit">
</form>
</body>
</html>

register.html

<html>
<body>
<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="Submit">
</form>
</body>
</html>

文章评论

    发表评论

    电子邮件地址不会被公开。

站点信息
  • 站点运行:440天
  • 网站程序:Wordpress
  • 主题模板:bvseo
  • 文章统计:4966 条
  • 文章评论:3311 条
  • 微信公众号:扫描二维码,关注我们