node+express+mysql 实现登陆注册
基于 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 实现登陆注册的更多相关文章
- Android通过Http连接MySQL 实现登陆/注册(数据库+服务器+客户端)
写在最前: 在实际开发中,相信每个项目都会有用户登陆注册功能,这个实现的方法很多,下面是我实现的方法,供大家交流. 新人发帖,万分紧张,怎么样才能装作一副经常发帖的样子不被别人看出来呢-,- ? 好了 ...
- Node + Express + Mysql的CMS小结
因为之前用过上述的组合完成过很多系统,而这一次是为了实现一个帮助系统的静态网页发布.因为很久不写,重点说遇到的几个坑: 1.库版本的问题 比如mysql连接数据库一直报错,因为系统重装过,所以重新安装 ...
- node.js+mysql用户的注册登录验证
下面代码实现的功能是:用node.js连接mysql实现用户的注册和登录,这里主要实现的是后端的验证代码,前端显示部分没具体写出. 整个程序的流程是这样的: 1.首先建立数据库reji,数据表user ...
- Express+MySQL实现登录注册的demo
MySQL5.7.20 demo准备 安装MySQL,安装完毕之后添加系统环境变量在cmd中启动服务:net start mysql57,如果是安装MySQL8.0则服务名默认时mysql80,测试安 ...
- 应用node+express+mysql 实现简单的增删改查
记录下来备忘 1.准备好webstrom编辑器,编辑器调整字体大小等在file->settings->editor下设置 注册码 来源网上: 2017.2.27更新 选择“license ...
- Node+Express+MySql实现简单增删改查和登录
var express = require('express'); var mysql = require('mysql'); var app = express(); var bodyParser ...
- node+express+mysql实现简单的数据增删改查
前提 电脑已经安装了node,express,mysql. 实现步骤 1.新建数据库表 附数据表结构: 2.创建exprss项目 express -e myapp 新建一个以ejs为模板的expre ...
- 教务管理系统(node+express+mysql)
模块拆分 现在将教务系统拆分成九个模块: 教务系统教师业务:师资管理.教学计划管理.排课管理 教务系统学生业务:考试管理.毕业生管理.学生综合测评 信息查询:自习室查询.课程表查询 考试系统:实现学生 ...
- 一个 "开箱即用" 个人博客全栈系统项目!vue+node+express+mysql+sequlize+uniapp
" MG'Blog " 一个 "开箱即用" 个人博客全栈系统项目! 探索本项目的源码 » 前台预览 · 管理端预览 v1.0.2 小程序预览 v1.0.2 介绍 ...
随机推荐
- SQL从零到迅速精通【查询利器】
1.[列选取]从fruits表中获取f_name和f_price两列,T-SQL语句如下. SELECT f_name,f_price FROM fruits; 2.[去重]查询fruits表中s_i ...
- 2021-08-02(console、comfrim)
1.console对象 1.输出信息: console.info()别名 console.log(); 2.复合类型表格展示 console.table(obj) || console.table(A ...
- 如何使用 Hexo 搭建个人博客
原文链接 什么是 Hexo ? Hexo 是一个简单快速的静态博客框架,可以通过编辑 Markdown 文档生成好看的静态博客. 搭建 Hexo 要求 安装 Hexo 十分简单,只需要 Node.js ...
- LOJ6485题解
应该是经典题之一了. \[[n|k]=\frac 1 n\sum_{i=0}^{n-1}w_n^{ik} \] 有这个就可以算了. \[\sum_{i=0}^n\binom n i x^ia_{i \ ...
- 程序设计基础·Java学习笔记·面向对象(下)
Java程序设计基础之面向对象(下) (补充了上的一些遗漏的知识,同时加入了自己的笔记的ヾ(•ω•`)o) (至于为什么分P,啊大概是为了自己查笔记方便(?)应该是("` 3′") ...
- 冒泡排序和鸡尾酒排序(code)
昨天回顾了下冒泡排序和鸡尾酒排序,用面向对象的方式写了一下,并且优化了代码,记录一下~ 一.冒泡排序 # 冒泡排序 class BubbleSort(object): def __init__(sel ...
- KVM 虚拟化基本知识,virtio工作原理
KVM虚拟化的基本知识,virtio的工作流程及原理,virtio-vhost, virtio-vhost-user pci 配置空间,是谁在kick 写pci配置空间的?又是通过什么机制通知给qem ...
- 通过TCP Allocate连接数告警了解promethous-NodeExporter数据采集及相关知识扩散
1.问题由来 近日有环境告警如下:TCP Allocate连接数过多 很多资料告诉我们使用:netstat –ant | grep ^tcp | wc –l命令查询,但查询的值与告警中获取的只相差很大 ...
- CLion入门教程
1. 说点什么 以下我将介绍地表最强(可能是之一,别打我) C/C++ 开发 IDE--CLion,以及如何使用它来快乐刷题. 工欲善其事,必先利其器.一个好的编程工具对写代码或是做题来说格外重要,尤 ...
- 从零开始,开发一个 Web Office 套件(13):删除、替换已选中文字
这是一个系列博客,最终目的是要做一个基于 HTML Canvas 的.类似于微软 Office 的 Web Office 套件(包括:文档.表格.幻灯片--等等). 博客园:<从零开始, 开发一 ...