微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

node.js实现登录注册页面

本文实例为大家分享了node.js登录注册页面展示的具体代码,供大家参考,具体内容如下

首先需要新建四个文件

一个服务器js

一个保存数据的txt

一个登陆、一个注册页面html

1、注册页面

rush:xhtml;"> <Meta charset="UTF-8"> regist

2、登录界面

rush:xhtml;"> <Meta charset="UTF-8"> login

3、搭建服务器

rush:js;"> var http = require("http"); var url = require("url"); var qs = require("querystring"); var fs = require("fs");

http.createServer(function (req,res) {
//设置请求头
res.setHeader("Access-Control-Allow-Origin","*");
if(req.method == "POST"){
//接收发来的用户名和密码
var result = "";
//获取前端代码发来的路由地址
var pathName = url.parse(req.url).pathname;
req.addListener("data",function (chunk) {
result += chunk;
});

req.on("end",function () {
  var user = qs.parse(result);
  //判断<a href="https://www.jb51.cc/tag/yonghu/" target="_blank" class="keywords">用户</a>是否存在
  if(user.username){
    fs.readFile("db.txt","utf-8",function (err,data) {
      if (!err){
        console.log("读取<a href="https://www.jb51.cc/tag/wenjian/" target="_blank" class="keywords">文件</a>成功");
        if (!data){
          if(pathName == "/login"){
            res.end("该<a href="https://www.jb51.cc/tag/yonghu/" target="_blank" class="keywords">用户</a>不存在");
            return;
          }

//根据前端发来的路由地址判断是登录还是注册页面,如果是注册页面
if(pathName == "/register"){
//创建一个数组一个对象来保存帐号和密码
var arr = [];
var obj = {};
//把用户的帐号密码保存
obj.username = user.username;
obj.password = user.password;
arr.push(obj);
//同步写入db.txt文件,必须是同步进行
fs.writeFileSync("db.txt",JSON.stringify(arr),"utf-8");
res.end("注册成功!");
return;
}
}else {
console.log("文件中有数据");
//把数据转成JSON对象,以便我们使用
var arr = JSON.parse(data);
//遍历整个保存数据的数组 判断登录注册
for(var i = 0;i < arr.length;i++){
var obj = arr[i];
if(obj.username == user.username){
if(pathName == "/login"){
if (obj.password == user.password){
res.end("登录成功!");
return;
}else {
res.end("密码错误!");
return;
}
}
if(pathName == "/register"){
res.end("该用户已存在!");
return;
}
}
}
if(pathName == "/login"){
res.end("用户名不存在!");
return;
}
if(pathName == "/register"){
//创建新对象写入数据
var obj = {};
obj.username = user.username;
obj.password = user.password;
arr.push(obj);
fs.writeFileSync("db.txt","utf-8");
res.end("注册成功!");
return;
}
}
}else {
console.log("读取文件失败");
}
})
}
});
}else {
res.end("get请求");
}
}).listen(3000,function (err) {
if (!err){
console.log("服务器启动成功,正在监听port3000...");
}
});

4、在db.txt文件中可以查看注册信息

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程之家。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐