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 介绍 ...
随机推荐
- JAVA 异常和异常处理
目录 一.异常 1.基本概念 2.异常体系图 3.五大运行时异常 4.编译异常 二.异常处理 1.异常处理的方式 1.1try-catch异常处理 注意事项 课堂练习题 1.2throws异常处理 注 ...
- LeetCode-026-删除有序数组中的重复项
删除有序数组中的重复项 题目描述:给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度. 不要使用额外的数组空间,你必须在 原地 修改输入数组 ...
- linux下的硬盘分区、格式化、挂载
linux下的MBR(msdos)分区.格式化.挂载 在linux下,需要使用一块硬盘. 需要进行以下四步: 识别硬盘-----分区规划-----格式化-----挂载 步骤一:分区规划 MBR模式分区 ...
- 学习Java集合
1.列表 List接口(继承于Collection接口)及其实现类 List接口及其实现类是容量可变的列表,可按索引访问集合中的元素. 特点:集合中的元素有序.可重复: 列表在数据结构中分别表现为: ...
- 打靶笔记-03-vulhub-Moriarty Corp
打靶笔记-03-vulhub-BoredHackerBlog 一.靶机信息 Name: BoredHackerBlog: Moriarty Corp(中-高级难度) Date release: 29 ...
- LGP5089题解
考试的一道题,考场上sb了没写出来,然后在两天后的英语课上胡出来了( 首先猜一个奇怪的结论: 对于元素 \((a,b)\),看做连接第 \(a\) 列和第 \(b\) 行的一条边,那么如果一行和一列在 ...
- 硬吃一个P0故障,「在线业务」应该如何调优HBase参数?
1.背景 由于种种原因,最近将核心业务生产使用的HBase迁移到了云上的弹性MapReduce(EMR)集群上,并使用了EMR的HBase组件默认参数配置. 结果在流量高峰期出现了宿主机故障,挂掉了两 ...
- Django的缓存机制和信号
Django的缓存机制 1.1 缓存介绍 1.缓存的简介 在动态网站中,用户所有的请求,服务器都会去数据库中进行相应的增,删,查,改,渲染模板,执行业务逻辑,最后生成用户看到的页面. 当一个网站的用户 ...
- WebGPU 计算管线、计算着色器(通用计算)入门案例:2D 物理模拟
目录 1. WebGL 2. WebGPU 2.1. 适配器(Adapter)和设备(Device) 2.2. 着色器(Shaders) 2.3. 管线(Pipeline) 2.4. 并行(Paral ...
- Python GUI tkinter 学习笔记(二)
第二个程序 # -*- coding: utf-8 -*- from Tkinter import * class App: def __init__(self, master): # frame 创 ...