iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >node.js怎么实现网站登录注册功能
  • 683
分享到

node.js怎么实现网站登录注册功能

2023-06-17 07:06:03 683人浏览 八月长安
摘要

这篇文章主要介绍了node.js怎么实现网站登录注册功能的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇node.js怎么实现网站登录注册功能文章都会有所收获,下面我们一起来看看吧。效果如下  

这篇文章主要介绍了node.js怎么实现网站登录注册功能的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇node.js怎么实现网站登录注册功能文章都会有所收获,下面我们一起来看看吧。

效果如下

  node.js怎么实现网站登录注册功能

项目构架

node.js怎么实现网站登录注册功能 

主入口app.js

app.js为程序程序主要入口,一般主要用来写我们引入的那些中间件及各种设置

var express = require('express');// nodejs中的Path对象,用于处理目录的对象,提高开发效率var path = require('path');// 用来定义网页loGo的中间件var favicon = require('serve-favicon');// NodeJs中Express框架使用morgan中间件记录日志// Express中的app.js文件已经默认引入了该中间件var logger = require('morgan');// 使用app.use(logger('dev'));以将请求信息打印在控制台,便于开发调试,// 但实际生产环境中,需要将日志记录在log文件里var logger = require('morgan');// 存储登录信息中间件var cookieParser = require('cookie-parser');// 解析请求体的中间件var bodyParser = require('body-parser');// 引入模块的js文件var routes = require('./routes/index');// var users = require('./routes/user');// 引入session中间件var session=require('express-session');// 创建项目示例var app = express();// 引入我们需要的模板app.set('views', path.join(__dirname, 'views'));app.set('view engine', 'ejs');// 用摩记录请求app.use(logger('dev'));app.use(bodyParser.JSON());app.use(bodyParser.urlencoded({ extended: false }));// 利用cookieParser中间件存取信息app.use(cookieParser("Luck"));// 利用session中间件存取信息app.use(session({  secret:'luck',  resave:false,  saveUninitialized:true}));// 静态化我们的public文件下的文件,使其可以直接引用app.use(express.static(path.join(__dirname, 'public')));app.use('/', routes);// app.use('/users', users);// 捕捉404状态app.use(function(req, res, next) {  var err = new Error('Not Found');  err.status = 404;  next(err);});module.exports = app;app.listen(3000,'127.0.0.1')routes下的index.js文件index.js这里我用来处理页面的路由跳转var express = require('express');var router = express.Router();// 为数据库链接的js文件,可查询数据库中的用户名和密码等信息var usr=require('netRequest/dbConnect');// 获取首页登录信息router.get('/', function(req, res) {  if(req.cookies.islogin){    req.session.islogin=req.cookies.islogin;  }  if(req.session.islogin){    res.locals.islogin=req.session.islogin;  } res.render('index', { title: 'HOME',test:res.locals.islogin});});// 登录页处理router.route('/login')  // get请求渲染页面    .get(function(req, res) {    if(req.session.islogin){      res.locals.islogin=req.session.islogin;    }    if(req.cookies.islogin){      req.session.islogin=req.cookies.islogin;    }    res.render('login', { title: '用户登录' ,test:res.locals.islogin});  })  // post请求查询用户信息  .post(function(req, res) {    client=usr.connect();    result=null;    // 调用数据库方法    usr.selectFun(client, req.body.username, function (result) {      if(result[0]===undefined){        res.send('没有该用户');      }else{        if(result[0].passWord==req.body.password){          req.session.islogin=req.body.username;          res.locals.islogin=req.session.islogin;          res.cookie('islogin',res.locals.islogin,{maxAge:60000});          res.redirect('/home');        }else{          res.redirect('/login');        }      }    });  });// 退出登录页处理router.get('/logout', function(req, res) {  res.clearCookie('islogin');  req.session.destroy();  res.redirect('/');});// home页处理router.get('/home', function(req, res) {  if(req.session.islogin){    res.locals.islogin=req.session.islogin;  }  if(req.cookies.islogin){    req.session.islogin=req.cookies.islogin;  }  res.render('home', { title: 'Home', user: res.locals.islogin });});// 注册页处理router.route('/reg')  // get请求渲染页面  .get(function(req,res){    res.render('reg',{title:'注册'});  })  // post请求注册用户  .post(function(req,res) {    client = usr.connect();    // 调用数据库方法    usr.insertFun(client,req.body.username ,req.body.password2, function (err) {       if(err) throw err;       res.send('注册成功');    });  });module.exports = router;node_modules中netRequest/dbConnect.js

dbConnect.js

var mysql=require('Mysql');// 现在只是练习可以直接为数据库创建链接,// 用户多时需要创建连接池function connectServer(){  var client=mysql.createConnection({    host:'172.16.20.103',    port:3308,    database:'test',    user:'JRJ_Win',    password:'FT%^$fjYR56'  })  return client;}function selectFun(client,username,callback){  client.query('select password from win.luck_user where username="'+username+'"',function(err,results,fields){    if(err) throw err;    callback(results);  });}function insertFun(client , username , password,callback){  client.query('insert into win.luck_user value(?,?)', [username, password], function(err,result){    if( err ){      console.log( "error:" + err.message);      return err;    }     callback(err);  });}exports.connect = connectServer;exports.selectFun = selectFun;exports.insertFun = insertFun;

剩下即为页面模板

login.ejs

<%- include header %><div class="container">  <fORM class="col-sm-offset-4 col-sm-4 form-horizontal" role="form" method="post">    <fieldset>      <% if(locals.islogin) { %>          <h4>用户: <%= test %>  已经登陆。<br></h4>          <a class="btn" href="/logout" rel="external nofollow" > 退出登录 </a>         <% } else{ %>            <div class="form-group">              <label class="col-sm-3 control-label" for="username">用户名</label>              <div class="col-sm-9">                <input type="text" class="form-control" id="username" name="username" placeholder="用户名" required>              </div>            </div>            <div class="form-group">              <label class="col-sm-3 control-label" for="password">密码</label>              <div class="col-sm-9">                <input type="password" class="form-control" id="password" name="password" placeholder="密码" required>              </div>            </div>            <div class="form-group">              <div class="col-sm-offset-3 col-sm-9">                <button type="submit" class="btn btn-primary">登录</button>              </div>            </div>      <% } %>    </fieldset>  </form></div><%- include footer %>

index.ejs

<%- include header %><div class="jumbotron text-center">  <% if(locals.islogin){%>    <h3>用户:<%= test %> </h3>已经登陆    <% }else{%>      <h3 class="text-center"><a href="/login" rel="external nofollow" rel="external nofollow" >请登录后查看</a></h3>  <%}%>  </div><%- include footer %>

reg.ejs

<%- include header %><div class="container">  <form class=" col-sm-offset-4 col-sm-4 form-horizontal" role="form" method="post">    <fieldset>      <div class="form-group">        <label class="col-sm-3 control-label" for="username">用户名</label>        <div class="col-sm-9">          <input type="text" class="form-control" id="username" name="username" placeholder="用户名" required>        </div>      </div>      <div class="form-group">        <label class="col-sm-3 control-label" for="password2">密码</label>        <div class="col-sm-9">          <input type="password" class="form-control" id="password2" name="password2" placeholder="密码" required>        </div>      </div>      <div class="form-group">        <div class="col-sm-offset-3 col-sm-9">          <button type="submit" class="btn btn-primary">注册</button>        </div>      </div>    </fieldset>  </form></div><%- include footer %>

header.ejs

<!DOCTYPE html><html><head>  <meta charset="UTF-8"/>  <title>Test</title>  <link rel="stylesheet" href="/bootstrap-3.3.7-dist/CSS/bootstrap.min.css" rel="external nofollow" >  <script src="https://cdn.bootcss.com/Jquery/1.12.4/jquery.min.js"></script>  <script type="text/javascript" src="/bootstrap-3.3.7-dist/js/bootstrap.min.js"></script></head><body><!--  <header>    <h2><%= title %></h2>  </header> -->  <nav class="navbar navbar-default">    <div class="container-fluid">      <div class="navbar-header">        <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">          <span class="sr-only">Toggle navigation</span>          <span class="icon-bar"></span>          <span class="icon-bar"></span>          <span class="icon-bar"></span>        </button>        <a class="navbar-brand" href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >Project name</a>      </div>      <div id="navbar" class="navbar-collapse collapse">        <ul class="nav navbar-nav">          <li class="active"><a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >待定</a></li>          <li><a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >待定</a></li>          <li><a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >待定</a></li>          <li class="dropdown">            <a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">待定<span class="caret"></span></a>            <ul class="dropdown-menu">              <li><a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >Action</a></li>              <li><a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >Another action</a></li>              <li><a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >Something else here</a></li>              <li role="separator" class="divider"></li>              <li class="dropdown-header">Nav header</li>              <li><a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >Separated link</a></li>              <li><a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >One more separated link</a></li>            </ul>          </li>        </ul>        <ul class="nav navbar-nav navbar-right">          <li class="active"><a title="主页" href="/" rel="external nofollow" >首页<span class="sr-only">(current)</span></a></li>          <li><a title="登陆" href="/login" rel="external nofollow" rel="external nofollow" >登录</a></li>          <li><a title="注册" href="/reg" rel="external nofollow" >注册</a></li>        </ul>      </div>    </nav>    <article>

footer.ejs

</article></body></html>

关于“node.js怎么实现网站登录注册功能”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“node.js怎么实现网站登录注册功能”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网精选频道。

--结束END--

本文标题: node.js怎么实现网站登录注册功能

本文链接: https://www.lsjlt.com/news/287727.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • node.js怎么实现网站登录注册功能
    这篇文章主要介绍了node.js怎么实现网站登录注册功能的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇node.js怎么实现网站登录注册功能文章都会有所收获,下面我们一起来看看吧。效果如下  ...
    99+
    2023-06-17
  • 怎么使用node.js实现网站登录注册功能
    这篇文章主要介绍了怎么使用node.js实现网站登录注册功能的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么使用node.js实现网站登录注册功能文章都会有所收获,下面我们一起来看看吧。效果如下 &...
    99+
    2023-07-04
  • Node.js实现登录注册功能
    本文实例为大家分享了Node.js实现登录注册功能的具体代码,供大家参考,具体内容如下 目录结构 注册页面: reg.html <!DOCTYPE html> <...
    99+
    2024-04-02
  • node.js+express+mySQL+ejs+bootstrop如何实现网站登录注册功能
    这篇文章主要介绍了node.js+express+mySQL+ejs+bootstrop如何实现网站登录注册功能,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着...
    99+
    2024-04-02
  • node.js实现简单登录注册功能
    本文实例为大家分享了node.js实现简单登录注册的具体代码,供大家参考,具体内容如下 1、首先需要一个sever模块用于引入路由,引入连接数据库的模块,监听服务器2、要有model...
    99+
    2024-04-02
  • Node.js实现登陆注册功能
    本文实例为大家分享了Node.js实现登陆注册的具体代码,供大家参考,具体内容如下 1.服务器端 在项目里创建一个json文件用来存储数据,通过express创建服务器对象,fs模块...
    99+
    2024-04-02
  • node.js如何实现简单登录注册功能
    本文小编为大家详细介绍“node.js如何实现简单登录注册功能”,内容详细,步骤清晰,细节处理妥当,希望这篇“node.js如何实现简单登录注册功能”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。首先需要一个sev...
    99+
    2023-06-30
  • Python实现注册登录功能
    用Python写个注册登录功能,供大家参考,具体内容如下 本文是用Python写一个注册登录功能,难度不大,很适合练手主要就是用列表和字典,以及逻辑判断用到的第3方库模块是time模...
    99+
    2024-04-02
  • Android实现登录注册功能
    本文实例为大家分享了Android实现登录注册功能的具体代码,供大家参考,具体内容如下 运行环境 Android Studio 总体效果图 一、 设计注册页面的布局 二、完成注册...
    99+
    2024-04-02
  • jsp怎么实现登录和注册功能
    要实现登录和注册功能,可以按照以下步骤进行:1. 创建一个登录页面(login.jsp)和一个注册页面(register.jsp)。...
    99+
    2023-08-09
    jsp
  • NodeJs+MySQL怎么实现注册登录功能
    这篇文章主要介绍“NodeJs+MySQL怎么实现注册登录功能”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“NodeJs+MySQL怎么实现注册登录功能”文章能帮助大家解决问题。nodejs中mys...
    99+
    2023-06-30
  • Node.js+Express+MySql如何实现用户登录注册功能
    这篇文章主要介绍了Node.js+Express+MySql如何实现用户登录注册功能,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。具体内容如...
    99+
    2024-04-02
  • python实现登录与注册功能
    本文实例为大家分享了python实现登录与注册的具体代码,供大家参考,具体内容如下 1. 案例介绍 本例设计一个用户登录和注册模块,使用 Tkinter 框架构建界面,主要用到画布、...
    99+
    2024-04-02
  • NodeJs+MySQL实现注册登录功能
    本文实例为大家分享了NodeJs+MySQL实现注册登录功能的具体代码,供大家参考,具体内容如下 之前写过一个没有连接数据库的注册与登陆的实现,这次加上了数据库 刚刚接触后端,很多不...
    99+
    2024-04-02
  • java+mysql怎么实现登录和注册功能
    本篇内容主要讲解“java+mysql怎么实现登录和注册功能”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“java+mysql怎么实现登录和注册功能”吧!1、首先是账号密码输入框和按钮:登录:&...
    99+
    2023-06-30
  • 怎么用python实现登录与注册功能
    本篇内容主要讲解“怎么用python实现登录与注册功能”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用python实现登录与注册功能”吧!1. 案例介绍本例设计一个用户登录和注册模块,使用 ...
    99+
    2023-06-26
  • Android用SharedPreferences怎么实现登录注册注销功能
    这篇“Android用SharedPreferences怎么实现登录注册注销功能”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇...
    99+
    2023-06-30
  • Python如何实现注册登录功能
    这篇文章给大家分享的是有关Python如何实现注册登录功能的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。具体内容如下本文是用Python写一个注册登录功能,难度不大,很适合练手主要就是用列表和字典,以及逻辑判断用...
    99+
    2023-06-29
  • Spring MVC+mybatis实现注册登录功能
    本文实例为大家分享了Spring MVC mybatis实现注册登录功能的具体代码,供大家参考,具体内容如下前期准备: 如下图所示,准备好所需要的包 新建工程,导入所需要的包,在web.xml中配置好所需要的,如下<...
    99+
    2023-05-31
    spring mvc mybatis
  • 基于Spring5实现登录注册功能
    本文实例为大家分享了Spring5实现登录注册功能的具体代码,供大家参考,具体内容如下 准备: 根据分析用户注册登录都需要的信息为①username(String)②userid(I...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作