基于 node、express、mysql 实现的登录注册。

1.`首先在终端中 安装 node .`
2.`通过npm install express -g 命令全局安装 express`.
3.`然后通过express+项目名称,快速搭建一个项目`
4.`使用 express 初始化项目时 可以指定 要使用的前端模板 包括ejs、jade 可以根据自己的兴趣及习惯进行选择.`

最终的生成的目录结构如下图:

项目搭建好以后 使用命令启动

  • 1.可以使用 官方默认的启动方式 npm start
    2.也可以使用 node bin/www
    3.这里我采用 的命令是 supervisor bin/www 来启动项目

说明:

由于使用express 时每次更改保存代码的时候需要再一次重新的启动服务器,所以有时候采用xepress 进行开发的时候遇到的问题 往往是没有重启服务器造成的.采用supervisor 的好处是 每次更改代码的时候 会自动帮你 重新启动服务器,这样可以很方便我们使用express进行开发了。

supervisor的安装方法:

可以通过 npm i supervisor -g 或者 yarn add supervisor 或者 cnpm 的安装方式 根据个人的习惯。
这些做好以后便可以开始跑起我们的项目了。
在浏览器 输入127.0.0.1:3000 便可以预览效果了:

app.js express 项目入口文件

如下图:

在这里 使用 express mysql 等依赖,以及设置一些配置。

mysql 部分

1.首先要 确保 电脑里 已经装好了mysql navicat 等数据库相关的软件
2.打开 navicat 建立 一个user的数据库 然后 建立连接。 如下图所示:

然后在 config 文件夹 下 开始创建数据库的配置文件 db.js user.js


user.js

在路由文件 下 建立 user.js 实现 登录注册

如图所示:

注册部分

1.前台使用 ejs 模板 + vue + iview

如下图所示:



后台注册 部分

说说 思路
通过 拿到 前台请求的数据 然后保存到数据库中
1.首先 根据 传过来的手机号 去查数据库 看数据库是否有无这条记录 如果有的话,说明已经注册过了,然后 send 一个状态给到前台,然后前台根据状态进行判断。
2.如果 数据库查询到查询的结果是 null 说明该手机号 尚未注册,此时就通过insert 语句向数据库中插入一条记录了,然后send 的状态为0,msg:'注册成功'.

到这里 注册 就基本结束了.


登录部分

思路 登录 其实跟注册 差不多
就是 数据库的 查找部分

前台关键代码如下:


后台登录处理部分

这里的思路 :

根据请求头里面的 手机号 去数据库里 查找用户信息,如果查询成功 send() status 0 msg:"登录成功",否则 登录失败。

总结

写到这里 就已经结束了。说说 心得体会:
首先登录注册 看起来很简单的部分,但是实际上还是 要有很多地方要注意的,首先对于前端开发 要 熟悉登录注册的流程 ,这个流程 不单单指的是 简简单单的提交 表单数据给后台接口就行了,而是当 接口返回不同接口状态及数据 该如何 处理得当的问题。这个很值得思考...
另外 对于使用 express 提供接口 来说 首先 node 、express 、mysql 的基本知识必须了解,另外 还有数据库的配置问题,包括 不同表之间的关联问题、多迸发请求 、前端跨域 该如何处理 等等...
总之 做程序 做的最后 会越来越发现 需要的知识越来越多 感觉自己会的越来越少,另外真的想说 前后台真的 不分家 ,后端知识真的超级超级重要...
[ author : peipei ]
[个人作品 勿喷 感谢!]
end

本文转载于:猿2048→https://www.mk2048.com/blog/blog.php?id=h0chckbikhj

node+express+mysql 实现登陆注册的更多相关文章

  1. Android通过Http连接MySQL 实现登陆/注册(数据库+服务器+客户端)

    写在最前: 在实际开发中,相信每个项目都会有用户登陆注册功能,这个实现的方法很多,下面是我实现的方法,供大家交流. 新人发帖,万分紧张,怎么样才能装作一副经常发帖的样子不被别人看出来呢-,- ? 好了 ...

  2. Node + Express + Mysql的CMS小结

    因为之前用过上述的组合完成过很多系统,而这一次是为了实现一个帮助系统的静态网页发布.因为很久不写,重点说遇到的几个坑: 1.库版本的问题 比如mysql连接数据库一直报错,因为系统重装过,所以重新安装 ...

  3. node.js+mysql用户的注册登录验证

    下面代码实现的功能是:用node.js连接mysql实现用户的注册和登录,这里主要实现的是后端的验证代码,前端显示部分没具体写出. 整个程序的流程是这样的: 1.首先建立数据库reji,数据表user ...

  4. Express+MySQL实现登录注册的demo

    MySQL5.7.20 demo准备 安装MySQL,安装完毕之后添加系统环境变量在cmd中启动服务:net start mysql57,如果是安装MySQL8.0则服务名默认时mysql80,测试安 ...

  5. 应用node+express+mysql 实现简单的增删改查

    记录下来备忘 1.准备好webstrom编辑器,编辑器调整字体大小等在file->settings->editor下设置 注册码 来源网上: 2017.2.27更新 选择“license ...

  6. Node+Express+MySql实现简单增删改查和登录

    var express = require('express'); var mysql = require('mysql'); var app = express(); var bodyParser ...

  7. node+express+mysql实现简单的数据增删改查

    前提 电脑已经安装了node,express,mysql. 实现步骤 1.新建数据库表 附数据表结构: 2.创建exprss项目 express -e myapp  新建一个以ejs为模板的expre ...

  8. 教务管理系统(node+express+mysql)

    模块拆分 现在将教务系统拆分成九个模块: 教务系统教师业务:师资管理.教学计划管理.排课管理 教务系统学生业务:考试管理.毕业生管理.学生综合测评 信息查询:自习室查询.课程表查询 考试系统:实现学生 ...

  9. 一个 "开箱即用" 个人博客全栈系统项目!vue+node+express+mysql+sequlize+uniapp

    " MG'Blog " 一个 "开箱即用" 个人博客全栈系统项目! 探索本项目的源码 » 前台预览 · 管理端预览 v1.0.2 小程序预览 v1.0.2 介绍 ...

随机推荐

  1. 【洛谷】P1447 能量采集

    此题虽为紫,但其实在水 能量采集 题目描述 栋栋有一块长方形的地,他在地上种了一种能量植物,这种植物可以采集太阳光的能量.在这些植物采集能量后,栋栋再使用一个能量汇集机器把这些植物采集到的能量汇集到一 ...

  2. Spark SQL和CSl

    目录 1 2 3 4 1 import org.apache.spark.sql.{DataFrame, SaveMode, SparkSession} object Demo1Sess { def ...

  3. Log4j2详解——XML配置详解

    Log4j2详解--XML配置详解 找到了个很详细的文章链接 https://www.jianshu.com/p/bfc182ee33db

  4. scoped样式

    scoped样式 作用∶让样式在局部生效防止冲突 写法∶<style scoped> 比如School组件和Student组件的样式名一样,当组件汇总到一起时样式会冲突.所以加上scope ...

  5. 面试题详解:如何用Redis实现分布式锁?

    说一道常见面试题: 使用Redis分布式锁的详细方案是什么? 一个很简单的答案就是去使用 Redission 客户端.Redission 中的锁方案就是 Redis 分布式锁的比较完美的详细方案. 那 ...

  6. 《Unity shader入门精要》复习<第13章 关于NDC坐标和深度/法线纹理>

    分为三个地方讲解. NDC(Normalize Device Coordinates)归一化的设备坐标 NDC坐标是世界空间坐标通过MVP变换之后再进行归一化得到的坐标.只需要再一步变换就能得到屏幕空 ...

  7. 线程的sleep()方法和yield()方法有什么区别?

    sleep()方法和yield()方法的区别: sleep()方法给其他线程运行机会时,不考虑线程的优先级,因此会给低优先级的线程运行机会:yield()方法只会给相同优先级或更高优先级的线程运行机会 ...

  8. CVE-2010-2861(Adobe ColdFusion 文件读取漏洞)

    漏洞介绍 Adobe ColdFusion是美国Adobe公司的一款动态Web服务器产品,其运行的CFML(ColdFusion Markup Language)是针对Web应用的一种程序设计语言. ...

  9. EVM

    靶机设置 将靶机导入VirtualBox中,有时候导入VM会出错,扫描不到ip地址. kali:192.168.1.100 kali扫描获得ip地址:192.168.1.107 渗透测试 接着扫描端口 ...

  10. SpringCloudAlibaba 微服务讲解(四)Sentinel--服务容错(一)

    4.1 高并发带来的问题 在微服务中,我们将业务拆分成一个个的服务,服务与服务之间可以相互调用,但是由于网络原因或者自身的原因,服务并不能保证100%可用,如果单个服务出现问题,调用这个服务就会出现网 ...