Node.js实现登录注册功能
使用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实现登录注册功能的更多相关文章
- node.js连接数据库登录注册,修改用户(页面的ajax请求)
首先给大家看一下目录结构,结构如下: index.html 首页(显示所有的用户信息) login.html 登录页 register.html 注册页 db.js 配置链接数据库参数 dbhelpe ...
- Node数据库入门(登录注册功能)
1.安装 (1).mysql模块安装 npm i mysql -D (2).co-msql模块安装(该模块不是一个独立的模块,而是mysql的封装,他可以把普通接连封装成一个可以做异步调用的连接) n ...
- vue koa2 mongodb 从零开始做个人博客(一) 登录注册功能前端部分
0.效果演示 插入视频插不进来,就很烦.可以出门右拐去优酷看下(点我!). 1.准备工作 1.1前端框架 前端使用了基于vue.js的nuxt.js.为什么使用nuxt.js? 首先我做的是博客的项目 ...
- js验证登录注册
js验证登录注册的优势,在前台直接验证,不需要在后台读取返回数据验证,减轻服务器压力. 登陆验证得必要性,拦截恶意脚本的登录注册攻击.哈哈,当然有些高手是可以直接跳过js验证的. 所以还是后台验证,并 ...
- Java Spring+Mysql+Mybatis 实现用户登录注册功能
前言: 最近在学习Java的编程,前辈让我写一个包含数据库和前端的用户登录功能,通过看博客等我先是写了一个最基础的servlet+jsp,再到后来开始用maven进行编程,最终的完成版是一个 Spri ...
- SSM 实现登录注册功能
1.上一篇SSM框架搭建好了之后就要开始写功能了,现在来写一个简单的登录注册功能 这几个包是自己手动创建的,然后往里面写代码 2.代码详情 package com.maike.controller; ...
- flask 开发用户登录注册功能
flask 开发用户登录注册功能 flask开发过程议案需要四个模块:html页面模板.form表单.db数据库操作.app视图函数 1.主程序 # app.py # Auther: hhh5460 ...
- JAVAEE_Servlet_20_登录注册功能
实现登录注册功能 注册功能 import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import j ...
- 一个关于vue+mysql+express的全栈项目(三)------ 登录注册功能的实现(已经密码安全的设计)
本系列文章,主要是一个前端的视角来实现一些后端的功能,所以不会讲太多的前端东西,主要是分享做这个项目学到的一些东西,,,,, 好了闲话不多说,我们开始搭建后端服务,这里我们采用node的express ...
随机推荐
- strcat函数(字符串连接函数)
srtcat函数原型在c中的<string.h>中. 语法: strcat(字符串a,字符串b): #include <stdio.h> #include <string ...
- ECMAScript 5 特性
ECMAScript 5 也称为 ES5 和 ECMAScript 2009. ECMAScript 5 特性 这些是 2009 年发布的新特性: "use strict" 指令 ...
- Java并发面试问题,谈谈你对AQS的理解
本人免费整理了Java高级资料,涵盖了Java.Redis.MongoDB.MySQL.Zookeeper.Spring Cloud.Dubbo高并发分布式等教程,一共30G,需要自己领取.传送门:h ...
- MinU: v2 Vulnhub Walkthrough
主机层面扫描: 22 和 3306 端口 3306 端口默认是MySQL端口,但是这里尝试爆破报错,最后通http访问发现非MySQL协议,而是一个http的服务 http的协议我们进行目录枚举下 枚 ...
- 安装社区版git仓库
1.打开http访问和ssh访问 sudo yum install -y curl policycoreutils-python openssh-server cronie sudo lokkit - ...
- 附002.Minikube介绍及使用
一 Minikube介绍 1.1 概述 Minikube是一种可以在本地轻松运行Kubernetes的工具.Minikube在笔记本电脑的VM中运行单节点Kubernetes集群,供希望尝试Kuber ...
- Mac下搭建Cocos2d-x-3.2的开发环境
配置:OS X 10.9.4 + Xcode 6.0 + Cocos2d-x-3.2 摘要:本文目标为在Xcode成功运行HelloWorld程序. 一.下载必要项 1.从官网下载Cocos2d-x- ...
- Appium使用总结
目前在使用appium过程中遇到的一些问题及规避方法总结如下: Appium使用总结:1.在熄屏下启动测试,会自动唤醒屏幕2.Appium只针对单个应用测试3.使用unittest框架,该框架中每条用 ...
- 百度云盘资源 for MAC 第三方工具不限速下载
相信大家都比较困惑,百度网盘客户端限速后一般只有几十K的下载速度,Windows有百度网盘破解版,但MAC的破解版似乎不存在,要提速的话,一般的做法是开超级会员(27元/月),身为程序员的我们,是不是 ...
- .net core 在 Docker 上的部署
Docker可以说是现在微服务,DevOps的基础,咱们.Net Core自然也得上Docker..Net Core发布到Docker容器的教程网上也有不少,但是今天还是想来写一写.你搜.Net co ...