概述
1.准备:创建文件夹和文件
2.inde.html login.html regiter.html
index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<h1>个人用户信息</h1>
<a href="/login">登录</a>
<br>
<a href="/register">注册</a>
</body>
</html>
register.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<h1>用户注册</h1>
<form action="/userRegister" method="get">
<label for="username">username:</label>
<input type="text" id="username" name="username">
<br>
<label for="password">password</label>
<input type="password" id="password" name="password">
<br>
<button>注册</button>
</form>
</body>
</html>
login.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<h1>用户登录</h1>
<form action="/userLogin" method="post">
<label for="username">username:</label>
<input type="text" id="username" name="username">
<br>
<label for="password">password</label>
<input type="password" id="password" name="password">
<br>
<button>登录</button>
</form>
</body>
</html>
3.nodejs
var http = require("http");
var fs = require("fs");
var url = require("url");
var path = require("path");
var querystring = require("querystring");
//创建服务器
http.createServer((req,res)=>{
//获取路由路径
var urlObj = url.parse(req.url,true);
//处理小图标
if(urlObj.pathname == "/favicon.ico"){
return;
}
//显示index页面
if(urlObj.pathname == "/"){
fs.readFile(path.join(__dirname,"./views/index.html"),(err,data)=>{
if(err){
console.log(err);
}else{
res.writeHead(200,{"Content-Type":"text/html;charset=utf-8"})
res.end(data);
}
})
}
//跳转到注册页面
if(urlObj.pathname == "/register"){
fs.readFile(path.join(__dirname,"./views/register.html"),(err,data)=>{
if(err){
console.log(err);
}else{
res.writeHead(200,{"Content-Type":"text/html;charset=utf-8"})
res.end(data);
}
})
}
//跳转到登录页面
if(urlObj.pathname == "/login"){
fs.readFile(path.join(__dirname,"./views/login.html"),(err,data)=>{
if(err){
console.log(err);
}else{
res.writeHead(200,{"Content-Type":"text/html;charset=utf-8"})
res.end(data);
}
})
}
//处理注册页面逻辑
if(urlObj.pathname == "/userRegister"){
//获取浏览器发送过来的数据
var queryParams = urlObj.query;
//判断用户名和密码是否为空
if(queryParams.username && queryParams.password){
//写入数据
fs.appendFile(path.join(__dirname,"./userInfo.txt"),querystring.stringify(queryParams)+",",(err)=>{
console.log("写入成功");
res.writeHead(200,{"Content-Type":"text/html;charset=utf-8"})
res.end("<h1>注册成功</h1>");
})
}else{
res.writeHead(200,{"Content-Type":"text/html;charset=utf-8"})
res.end("<h1>用户名或密码不能为空</h1>");
}
}
//处理登录页面的逻辑
if(urlObj.pathname == "/userLogin" && req.method.toLowerCase()=="post"){
var postData = "";
//监听数据读取
req.on("data",(chunk)=>{
postData += chunk;
})
//监听数据读取完毕
req.on("end",()=>{
console.log(postData);
//获取文件中的用户名和密码
fs.readFile(path.join(__dirname,"./userInfo.txt"),(err,data)=>{
console.log(data.toString());
var databasesInfo = data.toString().split(",");
console.log(databasesInfo);
for(var value of databasesInfo){
//将数组里面的每一个元素转换为对象
var obj = querystring.parse(querystring.unescape(value));
console.log(obj);
//判断用户名和密码是否正确
if(obj.username == querystring.parse(postData).username && obj.password ==querystring.parse(postData).password){
res.writeHead(200,{"Content-Type":"text/html;charset=utf-8"})
res.end("<h1>登录成功</h1>");
}
}
res.writeHead(200,{"Content-Type":"text/html;charset=utf-8"})
res.end("<h1>用户名或着密码错误</h1>");
})
})
}
}).listen(80);
转载于:https://my.oschina.net/u/3502345/blog/915977
最后
以上就是能干蜗牛为你收集整理的后台的登录注册写法的全部内容,希望文章能够帮你解决后台的登录注册写法所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复