2016-06-28 5 views
0

いくつかのHTML/CSSを使用してログインページを作成しました。パスワードを入力する場合は、事前にパスワードを入力してください正しい、彼らはサイトに入ることができる、そうでなければ、することはできません。私は多くのチュートリアル/サイトなどを見てきましたが、Mongodbを使って一意のパスワードを作成するか、あるいは私が探しているものではないPassportを使用します。私はあらかじめ決められたパスワードを持っていることがベストプラクティスではないが、私がやっていることの範囲に合っていることを理解している。私は基本的な準備ができたらそれを変更するつもりです。非常に基本的なnode.js/htmlログインページでユーザーが送信するヒット件数を処理する方法

、完全に機能するサイトがあり、ユーザーがログインしたときに、私は非常に少ないのNode.jsの経験やPOSTリクエスト

をどのように扱うか、本当にわからないを持っているこれは私のHTMLページの私の一部を形成しています(login.ejs)

<form method="post"> 
 
    <div class="form-group"> 
 
    <label>Password</label> 
 
    <input type="text" class="form-control" name="name" id="name"> 
 
    </div> 
 
    
 
<button type="submit" class="btn btn-warning btn-lg">Login</button> 
 
</form>
そして、これが私のserver.jsファイルの私の一部です

var express = require('express'); 
 
var config = require('./config'); 
 
var bodyParser = require('body-parser'); 
 
var mandrill = require('mandrill-api/mandrill'); 
 
var app = express(); 
 
app.set('view engine', 'ejs'); 
 
app.use(express.static('dist')); 
 
app.use(bodyParser.urlencoded({ extended: false })); 
 

 
//other stuff 
 
app.post('/login', function (req, res) { 
 
//user enters predetermined password 
 
//user hits the submit button 
 
//if password = "login" 
 
//go to home page 
 
//if password != "login" 
 
//go to error page 
 

 
});

答えて

0

<form method="post" action="/login"> 
    <div class="form-group"> 
     <label>Password</label> 
     <input type="text" class="form-control" name="name" id="name"> 
    </div> 

    <button type="submit" class="btn btn-warning btn-lg">Login</button> 
</form> 

として、クライアント側のコードを変更して、サーバー側のコードを変更します。

app.post('/login', function (req, res) { 

if (req.body.name == "login") 
    res.redirect('/home'); 
if (req.body.name != "login") 
    res.redirect('/error'); 
}); 

app.get('/home', function(req, res) { 
    // If you are using ejs, you can render ejs 
    res.sendFile(__dirname + 'path_to_folder_containing_htmls/home.html'); 
}); 

app.get('/error', function(req, res) { 
    // If you are using ejs, you can render ejs 
    res.sendFile(__dirname + 'path_to_folder_containing_htmls/error.html'); 
}); 
+0

あなたのお時間をありがとうございました –

0

まず、あなたはformaction属性があることを特定する必要があります送信するノードのルート。あなたがbody-parserを使用しているので、POSTリクエストのボディにアクセスするために非常に簡単です、あなたのnodeファイルで

<form method="post" action="/login"> 
    <div class="form-group"> 
     <label>Password</label> 
     <input type="text" class="form-control" name="name" id="name"> 
    </div> 

    <button type="submit" class="btn btn-warning btn-lg">Login</button> 
</form> 

:あなたのformは単純に変更されます。

nameはあなたの forminputタグの name 属性の値である
app.post('/login', (req, res) => { 

    var data = req.body.name; 

}); 

+0

ありがとう –

関連する問題