时间:2021-07-01 10:21:17 帮助过:6人阅读
模板:
login.ejs
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> </head> <body> <h1>请登录</h1> <div> <form action="" method="post"> <p> 登录名: <input type="text" id="dengluming"/> </p> <p> 密码: <input type="password" id="mima"/> </p> <p> <input id="denglu" type="button" value="登陆"/> </p> </form> </div> <script type="text/javascript" src="/jquery-1.11.3.min.js"></script> <script type="text/javascript"> //用ajax提交表单 $("#denglu").click(function(){ $.post("/dologin",{ "dengluming" : $("#dengluming").val(), "mima" : $("#mima").val() },function(result){ if(result == "1"){ alert("登陆成功"); }else if(result == "-2"){ alert("没有这个注册用户"); }else if(result == "-1"){ alert("密码不正确"); } }) }); </script> </body> </html>
regist.ejs
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<div>
<p>
登录名: <input type="text" name="dengluming" id="dengluming"/>
</p>
<p>
密码: <input type="password" name="mima" id="mima"/>
</p>
<p>
<input id="zhuce" type="button" value="注册"/>
</p>
</div>
<script type="text/javascript" src="/jquery-1.11.3.min.js"></script>
<script type="text/javascript">
//用ajax提交表单
$("#zhuce").click(function(){
$.get("/doregist",{
"dengluming" : $("#dengluming").val(),
"mima" : $("#mima").val()
},function(result){
if(result == "1"){
alert("注册成功");
}else{
alert("注册失败");
}
})
});
</script>
</body>
</html>
登陆注册:
var express = require("express");
var app = express();
var formidable = require(‘formidable‘);
var db = require("./model/db.js");
var md5 = require("./model/md5.js");
app.set("view engine","ejs");
app.use(express.static("./public"));
//注册页面
app.get("/regist",function(res,res,next){
res.render("regist");
});
//登陆页面
app.get("/login",function(res,res,next){
res.render("login");
});
//执行注册
app.get("/doregist",function(req,res,next){
var dengluming = req.query.dengluming;
var mima = req.query.mima;
//加密
mima = md5(md5(mima).substr(4,7) + md5(mima));
//把用户名和密码存入数据库
db.insertOne("users",{
"dengluming" : dengluming,
"mima" : mima
},function(err,result){
if(err){
res.send("-1");
return;
}
res.send("1");
})
});
app.post("/dologin",function(req,res,next){
var form = new formidable.IncomingForm();
form.parse(req, function(err, fields, files) {
var dengluming = fields.dengluming;
var mima = fields.mima;
mima = md5(md5(mima).substr(4,7) + md5(mima));
//检索数据库,按登录名检索数据库,查看密码是否匹配
db.find("users",{"dengluming":dengluming},function(err,result){
if(result.length == 0){
res.send("-2"); //-2没有这个人
return;
}
var shujukuzhongdemima = result[0].mima;
//要对用户这次输入的密码,进行相同的加密操作。然后与
//数据库中的密码进行比对
if(mima == shujukuzhongdemima){
res.send("1"); //成功
}else{
res.send("-1"); //密码不匹配
}
});
});
return;
});
app.listen(3000);
数据库地址:
settings.js
module.exports = {
"dburl" : "mongodb://localhost:27017/day7"
}
node js实战:带数据库,加密的注册登录表单
标签:input throw htm col cti ports create let use