0
私はノードを使い慣れていません。私が実装しようとしているのは、ユーザーに彼の名前を尋ねることです。ユーザーが自分の名前を入力すると、セッションが作成されます。ユーザーのログインの後ろには保存されます。次回はユーザーが自分の名前を入力します。彼の名前と最後にログインした時間を表示する必要があります。私の試みはこれでしたログイン前回ログにログイン
var express = require('express');
var bodyParser = require('body-parser');
var expressSession = require('express-session');
var cookieParser = require('cookie-parser');
var app = express();
app.use(cookieParser());
app.use(expressSession({secret:'somesecrettokenhere'}));
app.use(bodyParser());
app.all('*', function findLastVisit(req, res, next) {
if (req.session.visited)
req.lastVisit = req.session.visited;
req.session.visited = Date.now();
next();
});
app.get('/', function(req, res){
var html = '<form action="/" method="post">' +
'Your name: <input type="text" name="userName"><br>' +
'<button type="submit">Submit</button>' +
'</form>';
if (req.session.userName) {
html += '<br>Your username from your session is: ' + req.session.userName + '<br> And the last time you visited was ' + req.lastVisit;
}
res.send(html);
});
app.post('/', function(req, res){
req.session.userName = req.body.userName;
res.redirect('/');
});
app.listen(1337);
console.log("server is on 1337 bro");
残念ながら、私のコードは常に現在の時刻のみを表示します。私は愚かな間違いをしていると思います。誰も指摘できますか?
以下のように
lastVisited
と呼ばれる別の変数を追加し、最初の文は、IFブロック内で実行されます。 – Marcsif文の下に最初のようなものが必要な場合は、中括弧を無視することができます。他の行はif文に含まれてはならない別のコードです – shashank
この場合、読みやすいようにコードを書式化することをお勧めします。正しく書式設定されたコードは読みやすくなります。 – Marcs