node.js的登录注册界面以及cookie

/*
头像上传项目
node.js版本   v6.9.1
express版本   v4.14.0  
path版本      v0.12.7
formidable版本 v1.0.17
cookie:版本v1.4.3


*/
// 第一步  引入相应接口  创建app对象  监听端口
var express=require("express");
var path=require("path");
var app=express();
var bp=require("body-parser")//引入body-parser
var fs=require("fs");
var cookie=require("cookie-parser")

// 第二步  设置静态路径   创建public文件夹  在其中创建image,js,css文件夹
app.use(express.static(path.join(__dirname,'public')))
app.use(bp.urlencoded({extended:false}))
app.use(cookie())
// 第三步接收请求   首页请求
app.get('/',function(req,res){
	res.sendFile(path.join(__dirname,'main.html'))//第四步:在项目目录下创建main.html
})
// 第五步  接收login请求  发送登录页面
app.get('/login',function(req,res){

	// 编写登录界面发送给浏览器
	res.sendFile(path.join(__dirname,'login.html'))
})
// 第六步  接收register请求  发送注册页面
app.get('/register',function(req,res){
	// 编写注册页面发送给浏览器
	res.sendFile(path.join(__dirname,'register.html'))
})
// 第七步 接收注册页面发生的请求
app.post('/register',function(req,res){
	// 解析注册界面过来的表单  就是解析body   就要安装body-parser
	// 把post过来的数据存到数据库中  这里的数据库就拿一个文件database来代替
	// 把用户信息变成一个字符串存放到database
	var info=req.body.user+req.body.pwd1+req.body.mobile+req.body.email
     fs.appendFile('./database',info,function(err){
     	if(err){
     		  console.log(err.message)
     	}
     	res.send("<a href='/' style='text-decoration: none;'>注册成功</a>")
    })
 
})
// 第八步 接收登录界面发送的信息
app.post('/login',function(req,res){
		// 第九步  在登录界面添加cookie
	// 9.1第一次登录  还没有设置cookie  故请求头中不会有cookie值  

	if(!req.cookies.user){

		// 9.4如果要有cookie  读取cookie的值
		var cookieUser=req.cookies.user
		var cookiePwd=req.cookies.pwd
		// 9.5还是要判断cookie中的值与注册信息是否匹配
		res.cookie('user',req.body.user)
		res.cookie('pwd',res.body.pwd)//注:cookie需要单独设置
		fs.readFile('./database','utf-8',function(err,data){
					var reg1=cookieUser
					var reg2=cookiePwd
					var arr1=data.match(reg1)//如果有 返回数组  没有就是null
					var arr2=data.match(reg2)
					console.log(arr2)

					    if(arr1 && arr2){
							res.send("成功")
						}else{
							res.send("失败")
						}
					
					})

	}else{

		res.cookie('user',req.body.user)
		res.cookie('pwd',res.body.pwd)//注:cookie需要单独设置
		fs.readFile('./database','utf-8',function(err,data){
	// 8.3使用match与文件中的数据匹配
		var reg1=req.body.user
		var reg2=req.body.pwd
		var arr1=data.match(reg1)//如果有 返回数组  没有就是null
		var arr2=data.match(reg2)
		console.log(arr2)

		    if(arr1 && arr2){
				res.send("成功")
			}else{
				res.send("失败")
			}
		
		})

	}

})
app.listen(3001)

 

转载于:https://my.oschina.net/u/3011065/blog/780609

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值