반응형
사용자 정보를 변경한다.
register pug 를 토대로 update pug를 생성
1. update
/user/update
router.route('/user/update')
.get((req,res)=>{
res.render(path.join('.','user','update'),{user : req.session.user});
})
2. update.pug
-if(user){
form(action="/user/update", method="post")
input(type="hidden", name="_method" value="PUT")
div
input(type='text' name='username' placeholder='username' value=user.username)
div
input(type='password' name='password' placeholder='●●●●●●●●●')
div
input(type='text' name='displayname' placeholder='displayname' value=user.displayname)
div
input(type='submit' value='Update')
-}else{
script(type='text/javascript').
alert('세션이 종료 되었습니다.');
location.href='/user/welcome';
-}
3. ** put 방식으로 데이터 전달!!
npm install --save method-override
var methodOverride = require('method-override');
** methodOverride 재정의 해준다!!!
app.use(methodOverride((req, res)=> {
if (req.body && typeof req.body === 'object' && req.body._method) {
// look in urlencoded POST bodies and delete it
var method = req.body._method
console.log('method :: ',method);
delete req.body._method
return method
}
}))
* 중요
1. app.use(bodyParser.urlencoded({ extended: false }));
2. app.use(methodOverride((req, res)=> {...});
3. app.use(userRouter);
* 순서가 중요합니다!!!!
router.route('/user/update')
.put((req,res)=>{
var temp ={
username : req.body.username,
password : req.body.password,
displayname : req.body.displayname
}
for(var i=0;i<userList.length;i++){
var user = userList[i];
if(user.username===temp.username){
if(temp.password){
user.password = temp.password;
}
if(temp.displayname){
user.displayname = temp.displayname;
}
req.session.displayname = temp.displayname;
req.session.user = user;
return req.session.save(()=>{
res.redirect('/user/welcome');
})
}
}
res.redirect('/user/welcome')
})
1. 입력받은 user정보 생성
2. username이 같은 친구 찾기
2-1. username이 같은 친구중에 passwd가 바뀌면 바꿈
2-2. username이 같은 친구중에 dispname이 바뀌면 바꿈
3. 세션저장 후 redirect!
반응형
'Nodejs' 카테고리의 다른 글
[NODEJS 입문]14.(pbkdf2-password) 비밀번호 암호화 (0) | 2018.06.12 |
---|---|
[NODEJS 입문]13.(사용자 DELETE) 사용자 삭제 (0) | 2018.06.11 |
[NODEJS 입문]10. 세션을 이용한 로그인 정보 기억하기 & Logout 처리하기 (0) | 2018.06.11 |
[NODEJS 입문]9.(사용자 CREATE) 사용자 등록하기 (0) | 2018.06.11 |
[NODEJS 입문]8.(사용자 READ) welcome 및 로그인 페이지 작성 (0) | 2018.06.11 |