最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

使用 connect

网站源码admin33浏览0评论

使用 connect

使用 connect

我想使用 connect-flash 制作带有引导程序警报的 flash 消息,我相信如果我按照我从谷歌搜索得到的所有答案进行操作,我相信我做的一切都是正确的,但仍然无法正常工作。我已经使用 app.use(flash()); 放置了 require('connect-flash');,制作像 res.locals.message 这样的中间件。但什么也没发生。

这是我的app.js代码:

`const express           = require('express'),
      pug               = require('pug'),
      mysql             = require('mysql'),
      multer            = require('multer'),
      bodyParser        = require('body-parser'),
      bcrypt            = require('bcrypt'),
      session           = require('express-session'),
      flash             = require('connect-flash'),
      qs                = require('querystring')

//const flash             = require('connect-flash')
//-----
//-----
//-----
//-----
//-----
var app = express();

app.set('views','./view')
app.set('view engine','pug')
app.use(express.static('./public'))
app.listen(3000,  koneksi)
app.use(bodyParser.urlencoded({ extended: true })) 
app.use(bodyParser.json())
app.use(session({
   secret: 'secret',
   resave: true,
   saveUninitialized: true,
   cookie: {secure: false }
 }));


//-----THIS LINE IS NOT WORKING
//-----THIS LINE IS NOT WORKING
//-----THIS LINE IS NOT WORKING
app.use(flash());
app.use(function(req, res, next){
   res.locals.message = req.flash();
   next();
});

//-----
//-----
//-----
//-----
//-----
var koneksi = mysql.createConnection({
   host:'localhost',
   user:'Yahya_23',
   password:'FathElchaydirYahya23',
   database:'kasir',
   dateStrings:'false'
})
koneksi.connect((err) => {
   if(err) {
      console.log('Koneksi Gagal: ' + err.stack)
      return
   } else {
      console.log('Koneksi Sukses!')
   }
})
//-----
//-----
//-----
//-----
//-----
//-----PROSES DAFTAR USER
app.post('/daftar_user', (req, res) => {
   let sql = `INSERT INTO tb_user (nama, telp, email, username, pass_enc, pass_pln, almt) 
   VALUES (
      '${req.body.nama}', '${req.body.telp}', '${req.body.email}', '${req.body.username}', 
      '${encryptPass(req.body.password)}', '${req.body.password}', '${req.body.almt}'
   )`
   koneksi.query(sql, (err) => {
      if(err){ 
         //-----flash message
         //-----flash message
         //-----flash message
         throw err;
      } else {
         //-----flash message
         //-----flash message
         //-----flash message
      }
   })
})
//-----
//-----
//-----
//-----
//-----
//-----PROSES LOGIN
app.post('/login', (req, res) => {
   let username = req.body.log_username;
   let password = req.body.log_password;

   let sql = `SELECT * FROM tb_user WHERE username = ? AND pass_pln = ? `;

   if (username && password) {
      koneksi.query(sql, [username, password], (err1, result, fields) => {
         if(result.length > 0) {
            bcryptpare(password, result[0]['pass_enc'], function(err2, result1) {
               if(err2) {
                  //-----bikin flash message
                  //-----bikin flash message
                  //-----bikin flash message
                  throw err2;
               } else {
                  //-----bikin flash message
                  //-----bikin flash message
                  //-----bikin flash message
                  req.session.username=username;
                  res.redirect('/beranda');
               } 
           });
         } else {
            //-----THIS LINE IS NOT WORKING
            //-----THIS LINE IS NOT WORKING
            //-----THIS LINE IS NOT WORKING
            req.flash('pesan_login_gagal',true)
            req.flash('msg','Gagal! : ')
            req.flash('isi','akun tidak ditemukan')
            res.redirect('/');
         }
      })
   }
});

这是我的login.pug代码:

doctype html 
html 
   head 
      title LOGIN | Aplikasi Kasir
      //-----css offline bootstrap
      link(rel='stylesheet' href='/css/bootstrap-4.6.2-dist/css/bootstrap.min.css') 
      //-----jquery offline utk bootstrap
      script(src='/css/jquery-3.6.4.js') 
      //-----jquery offline utk bootstrap
      script(src='/css/bootstrap-4.6.2-dist/js/bootstrap.min.js') 
      //-----jquery offline utk bootstrap
      script(src='/css/bootstrap-4.6.2-dist/js/bootstrap.bundle.min.js') 
      //-----popper offline utk bootstrap
      script(src='/css/popper.min.js')
      //-----CSS
      link(rel='stylesheet' type='text/css' href='/css/style.css') 
      //-----jquery pribadi
      script(src='/jquery/jquery-pribadi.js')
      //-----font awesome
      script(src=".js" crossorigin="anonymous")

   body
      br
      br
      br
      br
      br
      .container
         .row.justify-content-center
            .col-6
               //-----
               //-----
               //-----
               //-----
               //-----
               .card#kartuLogin
                  .card-body
                     br
                     h3.card-title.text-center LOGIN 
                     //-----alert daftar user sukses
                     //-----
                     //-----
                     //-----FLASH MESSAGE NOT WORKING
                     - var pesan_daftar_sukses
                     if(pesan_daftar_sukses ==true)
                        .alert.alert-success.alert-dismissible
                           button(type="button" class="close" data-dismiss="alert") ×
                           strong #{msg}
                              |  #{isi}
                     br
                     //-----alert login user gagal
                     //-----
                     //-----
                     //-----FLASH MESSAGE NOT WORKING
                     - var pesan_login_gagal
                     if(message.pesan_login_gagal===true)
                        .alert.alert-danger.alert-dismissible
                           button(type="button" class="close" data-dismiss="alert") ×
                           strong #{message.msg}
                              span #{message.isi}
                     br
                     //-----form username
                     //----
                     //---
                     //--
                     //-
                     form(action='/login' method='post')
                        .form-group
                           label(for='log_username') Username 
                              span#batas_username(style='font-style:italic; color:orange;') 0
                              span#batas_username(style='font-style:italic; color:orange;') /12

                           input#log_username.form-control(type='text' name='log_username' placeholder='Masukkan username' maxlength=12)
                           span#error_username
                        //-----form password
                        //----
                        //---
                        //--
                        //-
                        .form-group
                           label(for='log_password') Password 
                              span#batas_password(style='font-style:italic; color:orange;') 0
                              span#batas_password(style='font-style:italic; color:orange;') /20

                           input#log_password.form-control(type='password' name='log_password' placeholder='Masukkan Password' maxlength=20)
                           span#error_password 

                           .form-check
                              label.form-check-label
                                 input#pass_type.form-check-input(type='checkbox' value='') 
                                 |  Lihat password
                              
                        br
                        //-----TOMBOL LOGIN & DAFTAR
                        //----
                        //---
                        //--
                        //-
                        .d-flex.justify-content-end
                           .p-2
                              a.btn.btn-danger(href='/form_daftar_user') 
                                 i.fa-solid.fa-user
                                 |     Daftar
                           .p-2
                              a(href='#') 
                                 button.btn.btn-success#btnLogin(type='submit') 
                                    i.fa-solid.fa-right-to-bracket
                                    |     Login
                     br
回答如下:

与本文相关的文章

发布评论

评论列表(0)

  1. 暂无评论