Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
nodejs express/routes和mysql登录页面_Mysql_Node.js_Login Page - Fatal编程技术网

nodejs express/routes和mysql登录页面

nodejs express/routes和mysql登录页面,mysql,node.js,login-page,Mysql,Node.js,Login Page,上周刚开始学习Node,我正在尝试使用express和mySQL创建一个登录页面 我在互联网上看了一些教程视频,并在下面列出了一组代码。我可以运行此代码,不会弹出错误,但有一个小问题,就是在我按下登录按钮后,服务器没有重定向到其他页面 我想知道我的前端部分是否有问题,或者我遗漏了一些部分。我真的希望你们能帮我一把,因为我已经试了三天来通过这个阶段 谢谢 请参阅代码: 路由/login.ejs: <input id="txtUserName" name="txtUserName" type=

上周刚开始学习Node,我正在尝试使用express和mySQL创建一个登录页面

我在互联网上看了一些教程视频,并在下面列出了一组代码。我可以运行此代码,不会弹出错误,但有一个小问题,就是在我按下登录按钮后,服务器没有重定向到其他页面

我想知道我的前端部分是否有问题,或者我遗漏了一些部分。我真的希望你们能帮我一把,因为我已经试了三天来通过这个阶段

谢谢

请参阅代码:

路由/login.ejs:

<input id="txtUserName" name="txtUserName" type="text" class="form-control" placeholder="Username" required="" />
</div>
<input id="txtUserPwd" name="txtUserPwd" type="password" class="form-control" placeholder="Password" required="" />
</div>
<button class="btn btn-default submit" href="/users">Log in</button>
var express = require('express'),
User = require('../models/user.js'),
router = express.Router(),
crypto = require('crypto'),
title = 'LogIn';


router.get('/', function(req, res) {
   res.render('login', {title:title});
});


router.post('/', function(req, res) {
var userName = req.body['txtUserName'],
    userPwd = req.body['txtUserPwd'],
    md5 = crypto.createHash('md5');

User.getUserByUserName(userName, function (err, results) {
    if(results == '') {
        res.locals.error = 'Accounts Not Exist';
        res.render('login',{title:title});
        return;
    }


    userPwd = md5.update(userPwd).digest('hex');
    if(results[0].UserName != userName || results[0].UserPass != userPwd) {
        res.locals.error = 'Wrong User Name or Password';
        res.render('login',{title:title});
        return;
    } else {
        res.locals.username = userName;
        //設定session
        req.session.username = res.locals.username;
        console.log(req.session.username);
        res.redirect('/');
        return;
    }
});
});
module.exports = router;
Models/user.js

var mysql = require('mysql');
var LocalStrategy = require('passport-local').Strategy;

var connection  = mysql.createConnection({
   host     : 'localhost',
   user     : 'root',
   password : 'testtest'
});

connection.query('USE myfirstwebapp');

function User(user){
   this.username = user.username;
   this.userpass = user.userpass;
};

User.getUserNumByName = function getUserNumByName(username, callback) {

var cmd = "select COUNT(1) AS num from user info where username = ?";
    connection.query(cmd, [username], function (err, result) {
        if (err) {
            return;
        }
        connection.release();
        callback(err,result);
    });
};

User.getUserByUserName = function getUserNumByName(username, callback) {
var cmd = "select * from userinfo where username = ?";
    connection.query(cmd, [username], function (err, result) {
        if (err) {
            return;
        }
        connection.release();
        callback(err,result);
    });
 };

您是否有任何javascript或前端功能,可以将数据从登录页面发送到node.js后端?另外,您还发送了一个
href=“/users”
,但在您的后端,我只看到
/
,没有看到
/users
@kingload。谢谢您的回复,先生,我这是我的前端,因为我正在尝试查看是否可以登录,如果登录成功,我已经更改了href=“/users”是一个仪表板。我可以知道我的后端是否正常吗?你应该看看这个。@SimoneRene,你解决过这个问题吗?