2017-12-16 8 views
0

さて、私は現在、EJSの特定の種類のメッセージをどのように表示するかを理解しようとしています。私は今これを使っています。これは動作します:カスタムフラッシュメッセージを使用してそれらを呼び出す。 (Nodejs)

let sql = 'SELECT * FROM users WHERE username = ?'; 
    db.query(sql, [username], function(err, rows) { 
     if (err) 
     return done(err); 
     if (!rows.length) { 
     return done(null, false, { 
      type: 'loginMessage', 
      message: 'Login', 
     }); 
     } 

     // Match Password 
     bcrypt.compare(password, rows[0].password, function(err, isMatch) { 
     if (err) 
      return done(err); 
     if (isMatch) { 
      return done(null, rows[0]); 
     } else { 
      return done(null, false, { 
      type: 'loginMessage', 
      message: 'Wrong Login', 
      }); 
     } 
     }); 
    }); 
    })); 

これはメッセージの発信元です。しかし、私は一度に1つのタイプをレンダリングする問題があります。

<%- messages('msg_temp', locals) %> 

どのように私はそれをやっているのですが、それはすべてのタイプを示しています。私はこれらのうちの2つ、ログインの上の1つと上記の1つをログインタイプとして'loginMessage'、登録タイプとして'regMessage'としたいと思います。

あなたは私がやろうとしている正確に何を見たいあなたはitllログイン上記のメッセージを表示登録しようとした場合、あなたはhttps://playkog.net

に行くことができますです。 (等)。

+0

ノードコードはどこですか?あなたのejsコードはどこですか? – Elad

+0

OPに追加されました。私はmessages.loginMessageが関数ではないことを理解しています。 – William

+0

あなたのコードは 'PHP'ではありませんが、Webページ_問題の中でこのような_databaseを照会する人のためにタグを追加しました。 –

答えて

0

さて、私はHALFを解明しました。私は自分のメッセージのタイプを入れることができました。このコードを使用する:

bcrypt.compare(password, rows[0].password, function(err, isMatch) { 
    if (err) 
     return done(err); 
    if (isMatch) { 
     return done(null, rows[0]); 
    } else { 
     return done(null, false, { 
     type: 'loginMessage', 
     message: 'Wrong Pass', 
     }); 
    } 

しかし、同じページのメッセージで特定のタイプを呼び出す方法はまだわかりません。私はフロントページにログインと登録フォームを持っています。だから私はログインフォームの上に'LoginMessage'と登録フォームの上に'regMessage'を表示したいと思います。 2つのコードを使用するとエラーが発生するので、異なるコード行にこれらのタイプを表示する方法はわかりません

関連する問題