2017-05-31 6 views
0

以下のコードを参考にしてください。 javascriptとnedbデータベースを使用してログインを検証しようとしています。私は間違っているのですか?nodejs、javascript、nedbを使用してユーザーのログインを検証する方法

login.htmlと

​​

loginvalidate.js

このコードは、検証チェックし、ユーザー名とパスワードをデータベースに照会することを意図したが、それはないされ

。ダイアログが表示されたらokをクリックした後、home.htmlに進みます。

const database = require('../scripts/logindb'); 


    function validateForm() { 
    var user = document.loginform.user.value; 
    var pass = document.loginform.pass.value; 

    database.getAdmin(function(admin){ 

    var username = admin.username; 
    var password = admin.password; 
    if ((user == username) && (pass == password)) { 
     return false; 
    } 
    else { 
     alert ("Error , please check your username and password"); 
     return false; 
    } 

    });   
} 

logindb.js

var Datastore = require('nedb'); 

db = new Datastore({ filename: 'db/admin.db', autoload: true }); 

exports.addAdmin = function(firstname, lastname, username, password) 

{ 

var admin = { 
     "firstname": firstname, 
     "lastname": lastname, 
     "username": username, 
     "password": password 
    }; 

db.insert(admin, function(err, newDoc) { 

     if (err) throw err; 
     console.log("Table created!"); 
     db.close(); 

}); 

}; 

exports.getAdmin = function(fnc) { 

    db.find({}, function(err, docs) { 
     fnc(docs); 

    }); 
} 

答えて

0

あなたvalidateForm関数呼び出しにパラメータとしてeventを追加します。

の着信 eventパラメータであなたの validateForm機能使用 preventDefault()内部次に
<form name="login" onSubmit="return validateForm(event);" action="home.html" method="post"> 

function validateForm(event) { 
    event.preventDefault(); 

    // other code here 

    return false; 
} 

また、requireはJavaScriptの一部ではありません。NodeJSでモジュールを読み込みます。

あなたがHTMLであなたのJavaScriptファイルをロードする必要があります。応答のための

<script src="../scripts/logindb"></script> 
+0

おかげで、私はそれを試してみます。 – Mannie411

+0

'validateForm(event){event.preventDefault();}を使用しています。 return false;} 'はページに進むのを防ぎました。 loginvalidate.jsのコードは、データベースにユーザー名とパスワードを照会するのに失敗します。 – Mannie411

関連する問題