登錄頁面圖:

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{ /* width: 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{ /* width: 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)
})
