基于 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. C语言刷二叉树(二)基础部分

    102. 二叉树的层序遍历 /** * Definition for a binary tree node. * struct TreeNode { * int val; * struct TreeN ...

  2. MongoDB创建普通账户与admin账户的配置方法

    MongoDB数据库设置账户及权限的方法 1.如果MongoDB服务正在运行的情况下,需先停止该服务 在cmd(命令提示符)下输入net stop MongoDB,按下enter(回车键) 运行结果: ...

  3. iOS 产品新需求,要让collectionView 的背景跟着Cell 一块儿动!!!

    标题如上!看如何解决 最近产品经理来需求了,就像标题上的一样,要求,给collectionView添加一个背景,并且这个背景,还能跟着cell滑动这么一个效果,这个需求把我看懵了,让我不知所措,这该如 ...

  4. 国产化之Arm64 CPU+银河麒麟系统安装.NetCore

    背景 某个项目需要实现基础软件全部国产化,其中操作系统指定银河麒麟,银河麒麟就是一个Linux发行版,数据库使用达梦V8,这个数据库很多概念和Oracle相似,CPU平台的范围:龙芯.飞腾.鲲鹏等. ...

  5. 当我们看到phpinfo时在谈论什么

    我们在渗透测试的过程中,如果存在phpinfo界面,我们会想到什么? 大部分内容摘抄自:https://www.k0rz3n.com/2019/02/12/PHPINFO 中的重要信息/ 关于phpi ...

  6. PhpStrom 常用的插件

    .env files support 可以在env函数使用是提示.env文件中所有的key值的自动完成功能 Markdown support 在编写.md文件时有预览的功能 PHP composer. ...

  7. BBS项目分布搭建三(个人站点时间归档补充,实现侧边栏跳转、无线级分类、实现文章详情页展示功能)

    BBS项目分布搭建三(个人站点时间归档补充,) 1. 个人站点时间归档 """ settings.py设置最好更改以下: LANGUAGE_CODE = 'zh-hans ...

  8. ASP.NET Core 6框架揭秘实例演示[23]:ASP.NET Core应用承载方式的变迁

    ASP.NET Core应用本质上就是一个由中间件构成的管道,承载系统将应用承载于一个托管进程中运行起来,其核心任务就是将这个管道构建起来.从设计模式的角度来讲,"管道"是构建者( ...

  9. MATLAB绘制一幅中国地图

    今天博主跟大家讲一下如何用MATLAB制作一幅中国地图,那废话不多说,我们先看一下最终效果吧. mercator墨卡托圆柱投影地图 lambert兰伯特圆锥投影地图 一张中国地图大概包括以下要素: 中 ...

  10. Ubuntu 16.04 更改系统语言为简体中文

    镜像下载.域名解析.时间同步请点击阿里巴巴开源镜像站 一.安装时报错 原因:以访客的身份进入的会报错,改为管理员进入即可. ps:有时候往往一点小细节也会造成大问题,但是我们要善于排错. 注:可以看到 ...