使用Node.js + Navicat for mysql实现的登录注册功能

数据库中存在有”user_id,user_name,password,user_img,user_number“字段,其中"user_id,user_img,user_number"可为空

//注册
app.all('/XCDoor/reset',(req,res)=>{
//账号和密码不为空
if(req.query.user_name !== '' && req.query.password !== ''){
    // 根据前端传过来的用户名来查找数据库该用户名
conn.query("select * from `user_info` where user_name = '" + req.query.user_name +"'",(e,r)=>{
// 为0代表未查到用户
if(r.length == 0){
          // 往数据库中插入一条记录,存入前端传过来的用户名和密码,其余可为空的字段以' '表示
conn.query("INSERT INTO `user_info` VALUES ('','" + req.query.user_name + "','" + req.query.password + "','','')")
          // 返回给前端"注册成功"
conn.query("select * from `user_info` where user_name = '" + req.query.user_name +"'",(e,r)=>res.json(new Result({msg:'注册成功!',data:r})))
}else{ // 否则查到用户信息
          // 返回给前端"用户名存在"
       conn.query("select * from `user_info` where user_name = '" + req.query.user_name +"'",(e,r)=>res.json(new Result({msg:'用户名存在!',data:r})))
}
})
}else{
     // 返回给前端"用户名或密码不能为空"
conn.query("select * from `user_info` where user_name = '" + req.query.user_name +"'",(e,r)=>res.json(new Result({msg:'用户名或密码不能为空!',data:r})))
}
})
// 登录
app.all('/XCDoor/login',(req,res)=>{
  // 判断前端传过来的值是否为空,如果为空,提示"用户名或密码不能为空"
if(req.query.user_name == '' || req.query.password == ''){
conn.query("select * from `user_info` where user_name = '" + req.query.user_name +"'",(e,r)=>res.json(new Result({msg:'用户名或密码不能为空!'})))
}
  // 根据前端传过来的用户名在数据库中查找该用户名
conn.query("select * from `user_info` where user_name = '" + req.query.user_name +"'",(e,r)=>{
// 为0代表未查到用户
if(r.length == 0){
conn.query("select * from `user_info` where user_name = '" + req.query.user_name +"'",(e,r)=>res.json(new Result({msg:'您输入的账号未注册!'})))
}else{
       // 判断前端传过来的用户名和密码是否与数据库中查找到的一致
if(req.query.user_name == r[0].user_name && req.query.password == r[0].password){
          // 一致则返回给前端"登录成功"
conn.query("select * from `user_info` where user_name = '" + req.query.user_name +"'",(e,r)=>res.json(new Result({msg:'登录成功!',data:r})))
}else{
          // 否则返回给前端"用户名和密码错误"
conn.query("select * from `user_info` where user_name = '" + req.query.user_name +"'",(e,r)=>res.json(new Result({msg:'用户名或密码错误!'})))
}
}
})
})

Node.js实现登录注册功能的更多相关文章

  1. node.js连接数据库登录注册,修改用户(页面的ajax请求)

    首先给大家看一下目录结构,结构如下: index.html 首页(显示所有的用户信息) login.html 登录页 register.html 注册页 db.js 配置链接数据库参数 dbhelpe ...

  2. Node数据库入门(登录注册功能)

    1.安装 (1).mysql模块安装 npm i mysql -D (2).co-msql模块安装(该模块不是一个独立的模块,而是mysql的封装,他可以把普通接连封装成一个可以做异步调用的连接) n ...

  3. vue koa2 mongodb 从零开始做个人博客(一) 登录注册功能前端部分

    0.效果演示 插入视频插不进来,就很烦.可以出门右拐去优酷看下(点我!). 1.准备工作 1.1前端框架 前端使用了基于vue.js的nuxt.js.为什么使用nuxt.js? 首先我做的是博客的项目 ...

  4. js验证登录注册

    js验证登录注册的优势,在前台直接验证,不需要在后台读取返回数据验证,减轻服务器压力. 登陆验证得必要性,拦截恶意脚本的登录注册攻击.哈哈,当然有些高手是可以直接跳过js验证的. 所以还是后台验证,并 ...

  5. Java Spring+Mysql+Mybatis 实现用户登录注册功能

    前言: 最近在学习Java的编程,前辈让我写一个包含数据库和前端的用户登录功能,通过看博客等我先是写了一个最基础的servlet+jsp,再到后来开始用maven进行编程,最终的完成版是一个 Spri ...

  6. SSM 实现登录注册功能

    1.上一篇SSM框架搭建好了之后就要开始写功能了,现在来写一个简单的登录注册功能 这几个包是自己手动创建的,然后往里面写代码 2.代码详情 package com.maike.controller; ...

  7. flask 开发用户登录注册功能

    flask 开发用户登录注册功能 flask开发过程议案需要四个模块:html页面模板.form表单.db数据库操作.app视图函数 1.主程序 # app.py # Auther: hhh5460 ...

  8. JAVAEE_Servlet_20_登录注册功能

    实现登录注册功能 注册功能 import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import j ...

  9. 一个关于vue+mysql+express的全栈项目(三)------ 登录注册功能的实现(已经密码安全的设计)

    本系列文章,主要是一个前端的视角来实现一些后端的功能,所以不会讲太多的前端东西,主要是分享做这个项目学到的一些东西,,,,, 好了闲话不多说,我们开始搭建后端服务,这里我们采用node的express ...

随机推荐

  1. strcat函数(字符串连接函数)

    srtcat函数原型在c中的<string.h>中. 语法: strcat(字符串a,字符串b): #include <stdio.h> #include <string ...

  2. ECMAScript 5 特性

    ECMAScript 5 也称为 ES5 和 ECMAScript 2009. ECMAScript 5 特性 这些是 2009 年发布的新特性: "use strict" 指令 ...

  3. Java并发面试问题,谈谈你对AQS的理解

    本人免费整理了Java高级资料,涵盖了Java.Redis.MongoDB.MySQL.Zookeeper.Spring Cloud.Dubbo高并发分布式等教程,一共30G,需要自己领取.传送门:h ...

  4. MinU: v2 Vulnhub Walkthrough

    主机层面扫描: 22 和 3306 端口 3306 端口默认是MySQL端口,但是这里尝试爆破报错,最后通http访问发现非MySQL协议,而是一个http的服务 http的协议我们进行目录枚举下 枚 ...

  5. 安装社区版git仓库

    1.打开http访问和ssh访问 sudo yum install -y curl policycoreutils-python openssh-server cronie sudo lokkit - ...

  6. 附002.Minikube介绍及使用

    一 Minikube介绍 1.1 概述 Minikube是一种可以在本地轻松运行Kubernetes的工具.Minikube在笔记本电脑的VM中运行单节点Kubernetes集群,供希望尝试Kuber ...

  7. Mac下搭建Cocos2d-x-3.2的开发环境

    配置:OS X 10.9.4 + Xcode 6.0 + Cocos2d-x-3.2 摘要:本文目标为在Xcode成功运行HelloWorld程序. 一.下载必要项 1.从官网下载Cocos2d-x- ...

  8. Appium使用总结

    目前在使用appium过程中遇到的一些问题及规避方法总结如下: Appium使用总结:1.在熄屏下启动测试,会自动唤醒屏幕2.Appium只针对单个应用测试3.使用unittest框架,该框架中每条用 ...

  9. 百度云盘资源 for MAC 第三方工具不限速下载

    相信大家都比较困惑,百度网盘客户端限速后一般只有几十K的下载速度,Windows有百度网盘破解版,但MAC的破解版似乎不存在,要提速的话,一般的做法是开超级会员(27元/月),身为程序员的我们,是不是 ...

  10. .net core 在 Docker 上的部署

    Docker可以说是现在微服务,DevOps的基础,咱们.Net Core自然也得上Docker..Net Core发布到Docker容器的教程网上也有不少,但是今天还是想来写一写.你搜.Net co ...