我是靠谱客的博主 能干蜗牛,最近开发中收集的这篇文章主要介绍后台的登录注册写法,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

 

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

最后

以上就是能干蜗牛为你收集整理的后台的登录注册写法的全部内容,希望文章能够帮你解决后台的登录注册写法所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(51)

评论列表共有 0 条评论

立即
投稿
返回
顶部