登录页面图:
node.js文件代码:
const express=require("express"); const app=express(); const path=require("path") const cors=require("cors") const bodyParser=require("body-parser") const db=require("./util/configDb.js") app.listen(3000,()=>{ console.log("app start........") }) app.use(bodyParser.urlencoded({ extended:true })) app.use(bodyParser.json()) app.use(cors()) app.use("/static",express.static(path.join(__dirname,"./views"))) app.post("/login",(req,res)=>{ console.log("服务端",req.body) const {name,pwd}=req.body; let sql=`select * from user where name=${name} and pwd=${pwd}` console.log("sql",sql) let sqlObj=[] console.log("sqlObj",sqlObj) let callBack=function(err,data){ console.log("data:",data.length) if(err){ console.log("失败") return } if(data.length!=1){ console.log("密码或用户名出错") res.send({ msg:"用户名或密码出错", code:400 }) return } res.send({ msg:"成功登录", code:200 }) } db.dbConn(sql,sqlObj,callBack) })
configDb.js文件代码
const mysql=require("mysql") module.exports={ config:{ host:"localhost", user:"root", password:"", database:"infodb" }, dbConn:function(sql,sqlObj,callBack){ let pool=mysql.createPool(this.config) pool.getConnection((err,conn)=>{ if(err){ console.log(err) return; } conn.query(sql,sqlObj,callBack) conn.release(); }) } }
index.html文件代码:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" /> <title>登录</title> <style type="text/css"> *{ margin: 0px; padding: 0px; } body{ width: 100%; height: 100%; background-color: #f5f5f5; } .area-box{ display: flex; flex-direction: column; justify-content: center; align-items: center; margin-top: 100px; } .login-group{ /* 100%; */ height: 40px; background-color: white; padding: 10px 30px; } .login-group input{ height: 24px; outline: none; border-radius: 20px; padding-left: 10px; } .login-btn{ margin-top: 20px; } .login-btn button{ width: 200px; height: 30px; line-height: 30px; border-radius: 20px; outline: none; } </style> </head> <body> <div class="area-box"> <div class="login-group"> <label>用户:</label> <input type="text" name="" id="phone" placeholder="请输入手机号" /> </div> <div class="login-group"> <label>密码:</label> <input type="password" name="" id="pwd" placeholder="请输入密码" /> </div> <div class="login-btn"> <button type="button" id="login">登录</button> </div> </div> <script src="js/jquery-3.3.1.js" type="text/javascript" charset="utf-8"></script> <script type="text/javascript"> let phone=$("#phone") let pwd=$("#pwd") $("#login").click(function(){ if(phone.val().length==0||pwd.val().length==0){ alert("用户或密码不能为空") return; } var getPhone=phone.val() var getPwd=pwd.val() var data={ "name":getPhone, "pwd":getPwd } $.ajax({ type:"POST", url:"http://localhost:3000/login", data:data, success:res=>{ console.log(res) if(res.code==200){ alert(res.msg) }else{ alert(res.msg) } }, error:err=>{ console.log(err) } }) }) </script> </body> </html>
下面是注册代码:
node.js代码;
app.post("/register",(req,res)=>{ const name=req.body.name; console.log(name) const pwd=req.body.pwd; console.log(pwd) let sql="select * from user where nickname=?" let sqlArr=[name] let callBack=(err,data1)=>{ if(err){ console.log(err) return; } console.log("wishing数据",data1) if (data1.length>=1){//测试查找的数据的长度,如果大于0就代表数据库中存在这个用户 res.send({ code:400, msg:"该用户已存在", affectedRows:data1.affectedRows }) return; }else{ let sql ="insert into user set nickname=?,password=?,state=1"; let sqlArr=[name,pwd] let callBack=(err,data)=>{ if(err){ console.log(err) return; } res.send({ code:200, msg:"注册成功", affectedRows:data.affectedRows }) // console.log(data) return; } db.dbConn(sql,sqlArr,callBack) } } db.dbConn(sql,sqlArr,callBack) })
html代码:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" /> <title>登录</title> <style type="text/css"> *{ margin: 0px; padding: 0px; } body{ width: 100%; height: 100%; background-color: #f5f5f5; } .area-box{ display: flex; flex-direction: column; justify-content: center; align-items: center; margin-top: 100px; } .login-group{ /* 100%; */ height: 40px; background-color: white; padding: 10px 30px; } .login-group input{ height: 24px; outline: none; border-radius: 20px; padding-left: 10px; } .login-btn{ margin-top: 20px; } .login-btn button{ width: 200px; height: 30px; line-height: 30px; border-radius: 20px; outline: none; } </style> </head> <body> <div class="area-box"> <div class="login-group"> <label>用户:</label> <input type="text" name="" id="username" placeholder="请输入用户名" /> </div> <div class="login-group"> <label>密码:</label> <input type="password" name="" id="pwd" placeholder="请输入密码" /> </div> <div class="login-btn"> <button type="button" id="login">注册</button> </div> </div> <script src="js/jquery-3.3.1.js" type="text/javascript" charset="utf-8"></script> <script type="text/javascript"> let username=$("#username") let pwd=$("#pwd") $("#login").click(function(){ console.log("开始") if(username.val().length==0||pwd.val().length==0){ alert("用户或密码不能为空") return; } var getPhone=username.val() var getPwd=pwd.val() var data={ name:getPhone, pwd:getPwd } console.log(data) $.ajax({ type:"POST", url:"http://localhost:3000/register", data:data, success:res=>{ console.log(res) if(res.code==200){ alert(res.msg) document.location.href="index.html" }else{ alert(res.msg) } }, error:err=>{ console.log(err) } }) }) </script> </body> </html>
另一个注册代码:
app.post("/register",(req,res)=>{ const name=req.body.name; const pwd=req.body.pwd; console.log(name,pwd) // 首先要根据传递过来的数据查询数据库中是否已经存在该用户了 function regfun(){ var insert="insert into user (name,pwd) values (?,?)" let insertArr=[name,pwd] let insertCallBack=((err,data)=>{ if(err){ console.log(err) return; } if(data..affectedRows==1){ req.session.info={ name:name, pwd:pwd } res.send({ code:200, msg:"注册成功" }) }else{ res.send({ code:400, msg:"注册失败" }) } }) db.dbConn(insert,insertArr,insertCallBack) } let sql1="select * from user where name=?"; let sqlArr=[name] let callBack=((err,data)=>{ if(err){ console.log(err) return; } if(data.length==1){ res.send({ code:201, msg:"该用户已经存在" }) }else{ regfun() } }) db.dbConn(sql1,sqlArr,callBack) })