Node.js web登录功能的实现

首先是登录页面,先来看一下效果

首先是login.html文件

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width,initial-scale=1.0">
    <title><%= title %></title>
    <link rel="stylesheet" href="stylesheets/bootstrap.min.css" media="screen">
    <style type="text/css">
        .m15{ margin: 15px;}
        .tc{ text-align: center;font-size: 18px;font-weight: 600;}
    </style>
</head>
<body screen_capture_injected="true">
<div class="container">
    <%- message %>
    <form class="col-sm-offset-4 col-sm-4 form-horizontal" role="form" method="post" οnsubmit="return false">
        <fieldset>
            <legend></legend>
            <div class="panel panel-default">
                <div class="panel-heading">
                    <p class="tc">登录页面</p>
                </div>
                <div class="panel-body m15">
                    <div class="form-group">
                        <div class="input-group">
                        <span class="input-group-addon">
                        <span class="glyphicon glyphicon-user"></span>
                        </span>
                            <input type="text" class="form-control" id="username" name="username" placeholder="请输入用户名" required>
                        </div>
                    </div>
                    <div class="form-group">
                        <div class="input-group">
                        <span class="input-group-addon">
                        <span class="glyphicon glyphicon-lock"></span>
                        </span>
                            <input type="password" class="form-control" id="password" name="password" placeholder="请输入密码" required>
                        </div>
                    </div>
                    <div class="form-group">
                        <button type="submit" class="btn btn-primary btn-block" id="login0">登录</button>
                    </div>
                    <div class="form-group">
                    </div>
                </div>
            </div>
        </fieldset>
    </form>
</div>

<script type="text/javascript" src="javascripts/jquery-3.1.1.min.js"></script>
<link rel="stylesheet" href="http://cdn.static.runoob.com/libs/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="http://cdn.static.runoob.com/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="http://cdn.static.runoob.com/libs/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<script type="text/javascript">
    $(function(){
        $("#register0").click(function(){
            location.href = 'register';
        });
        $("#login0").click(function(){
            var username = $("#username").val();
            var password = $("#password").val();
            var data = {"username":username,"password":password};
            $.ajax({
                url:'/check',
                type:'post',
                data: data,
                success: function(data,status){
                        if(status == 'success'){
                            location.href = '/index';

                        }
                },
                error: function(data,status){
                    if(status == 'error'){
                        location.href = '/';
                    }
                }
            });
        });
    });
</script>
</body>
</head>
</html>
然后是node.js‘’后台代码‘’

var express = require('express');
var router = express.Router();
//引入数据库包
var db = require("./db.js");
/* GET home page. */
router.get('/', function (req, res, next) {
    res.render('./admin/login/login', {title: '', message: ''});
});
/**
 * 登录校验
 * */
router.post('/check', function (req, res) {
    var username = req.body.username;
    var password = req.body.password;
    // console.log(username);
    // console.log(password);
    var sql = "select username from login where username='" + username + "' and password='" + password + "'";
    console.log(sql)
    db.query(sql, function (err, rows) {
        console.log(rows)
        var str = JSON.stringify(rows).replace(/},{/g, '},\n{');
        console.log(str);
        for (var le in rows) {
            console.log(rows[le].username)
            if ((rows[le].username) == username) {
                console.log("账号和密码都是可以的")
                res.redirect('/index');
               } else {
                console.log("不可以登录")
            }
        }
    })
});
module.exports = router;
在这里我的密码没有使用md5加密,使用的明文密码,前台输入错误也没有什么提示,输入正确可以直接跳转到指定页面,基本逻辑就是这样



posted @ 2017-12-29 09:01  anliex  阅读(52)  评论(0)    收藏  举报