当前位置:网站首页 > Node.js开发 > 正文

Node学习(九)061-管理系统之登录和注册——md5加密 & 前端注册成功跳转登录页 & 前端登录成功跳转首页 & node服务器之post接口写法

Node学习(九)061-管理系统之登录和注册——md5加密 & 前端注册成功跳转登录页 & 前端登录成功跳转首页 & node服务器之post接口写法

八、登录和注册

md5加密官网——https://www.cmd5.com/

登录页效果

在这里插入图片描述

8.1 设计用户表

在这里插入图片描述

用户名不能重复,所以username字段加入一个唯一索引:

在这里插入图片描述

效果图

1

在这里插入图片描述

2

在这里插入图片描述

解密

在这里插入图片描述

解密失败

在这里插入图片描述

8.2 完成注册

效果页

在这里插入图片描述

前端

注册成功

在这里插入图片描述

前端代码:

<!-- 导入md5 --> <script src="./lib/md5/md5.min.js"></script> <script> //  $('.register').click(function () { 
      // 获取到账号和密码 // console.log($('form').serialize());  //字符串 username=lisi&password=123 // console.log($('form').serializeArray()); // 数组[{name: 'username', value: 'zhangsan'}, {name: 'password', value: '123'}] // console.log(md5('abc' +md5('123')));密码加盐或md5套md5,不易激活成功教程 var data = $('form').serializeArray(); // 修改data中的密码为加密的密码 data[1].value = md5(data[1].value); // console.log(md5('abc' + '123')); // console.log(data); // 发送ajax请求,完成注册即可 $.post('/reg', data, function (res) { 
      // 预定服务器返回的格式: {code: 200, message: '注册成功'} alert(res.message); if (res.code === 200) { 
      // 注册完毕,跳转到登录页 location.href = '/login.html'; } }, 'json'); }); </script> 

服务端的接口:

// 6. 完成注册(接收提交过来的账号和密码,然后添加到数据库即可) app.post('/reg', (req, res) => { 
    console.log(req.body); // 写SQL,完成注册 let sql = 'insert into user set ?'; // let values = { 
    // username: '' // } db(sql, req.body, (err, data) => { 
    if (err) { 
    // 如果提示注册不成功,就 throw err res.send({ 
   code: 201, message: '注册失败'}); } else { 
    res.send({ 
   code: 200, message: '注册成功'}); } }); }); 

注册成功

在这里插入图片描述

执行 git add .git commit -m '完成注册'

8.3 完成登录

前端登录页

登录成功

在这里插入图片描述

登录失败

在这里插入图片描述

login.html 前端代码:

  • 密码还是要使用加密的密码
  • 收集表单数据的时候,验证码也收集到了
<!-- 导入md5 --> <script src="./lib/md5/md5.min.js"></script> <script> // 完成登录 $('.login').click(function (e) { 
      e.preventDefault(); var data = $('form').serializeArray(); // 还要对密码进行加密 data[1].value = md5(data[1].value); // console.log(data); $.post('/login', data, function (res) { 
      alert(res.message); if (res.code === 200) { 
      // 登录成功,跳转到index.html首页 location.href = '/index.html'; } }, 'json'); }); </script> 

服务端代码:

// 7. 登录接口 app.post('/login', (req, res) => { 
    console.log(req.body); // 提交信息到接口,马上进行验证码验证。验证通过才验证账号和密码(略) // 下面验证账号和密码 let sql = 'select * from user where username = ? and password = ?'; db(sql, [req.body.username, req.body.password], (err, result) => { 
    if (err) throw err; // console.log(result); // 账号密码正确,得到一个非空数组;账号密码错误,得到空数组 if (result.length > 0) { 
    res.send({ 
   code: 200, message: '登录成功'}); } else { 
    res.send({ 
   code: 201, message: '登录失败'}); } }); }); 

执行 git add .git commit -m '完成登录,但是没有使用验证码'

到此这篇Node学习(九)061-管理系统之登录和注册——md5加密 & 前端注册成功跳转登录页 & 前端登录成功跳转首页 & node服务器之post接口写法的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • Node学习(九)063-会话技术简介之cookie的设置和获取——会话控制的分类之cookie-保存客户端(浏览器)、session-保存服务器 & cookie的设置与获取 & cookie有效期2024-11-30 10:00:05
  • Node学习(九)064-会话技术简介之session的设置和获取——设置与获取之express-session模块& session有效期& 删除session& cookie和session的原理2024-11-30 10:00:05
  • Node学习(九)065-会话技术简介之cookie和session的优缺点——cookie-优点是节省服务器空间,缺点不安全 & session-优点是安全,缺点需要服务器空间 & 语法之设置和获取2024-11-30 10:00:05
  • Node学习(九)07-使用验证码——必须登录才能访问页面 & 模糊搜索的时候重置分页页码2024-11-30 10:00:05
  • Node.js 网络通信(一)——网络通信相关概念、网络七层模型、mac 地址之ip地址、Port 端口号、域名 & TCP-传输控制协议、UDP-用户数据报协议、Socket套接字2024-11-30 10:00:05
  • Node学习(九)023-管理系统之添加英雄——文件上传-multer第三方模块之multer简介、multer配置、multer使用 & 使用myupload.single() 方法作为接口的中间件2024-11-30 10:00:05
  • Node学习(八)02-Node中的模块化——用module.exports实现模块化-封装并导出db.js模块之mysql增删改查& 步骤之连服务器、键值照应、封装导出模块、导入模块并打印服务器数据2024-11-30 10:00:05
  • Node学习(八)01-Node中的模块化——一个js文件就是一个模块& js中声明的属性和方法挂载global对象下则是全局作用域&module.exports导出属性和方法&require导入模块2024-11-30 10:00:05
  • Node学习(五)021-处理静态资源——中间件是express最大特色-app.use() & 有三个基本参数req、res、next & 自定义中间件处理静态资源文件-sendFile异步读取文件2024-11-30 10:00:05
  • Node学习(五)01-express框架——使用express搭建web服务器 & 启动命令之node或nodemon+空格+文件相对路径 __dirname指当前文件所在文件夹的绝对路径2024-11-30 10:00:05
  • 全屏图片