본문 바로가기
IT_Developers/Node.js

Node.js - express 게시판 만들기 / 글 수정 / Update

by 고코더 2019. 8. 1.

게시판 만들기 update 


안녕하세요.
고코더 입니다. 


이번 시간에는 상세보기 페이지에서 글을 수정하고 비밀번호를 입력 한 후에 
해당 비밀번호가 맞다면 해당 글을 수정하는 페이지를 만들어 보겠습니다.



 1. '/update' board.js 글 수정 코딩 추가 


 1-1. board.js에 코딩을 추가합니다. 


 1-2. 상세보기를 표현할 라우터를 추가합니다. 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
router.post('/update',function(req,res,next)
{
    var idx = req.body.idx;
    var name = req.body.name;
    var title = req.body.title;
    var content = req.body.content;
    var passwd = req.body.passwd;
    var datas = [name,title,content,idx,passwd];
 
 
    var sql = "update board set name=? , title=?,content=?, modidate=now() where idx=? and passwd=?";
    conn.query(sql,datas, function(err,result)
    {
        if(err) console.error(err);
        if(result.affectedRows == 0)
        {
            res.send("<script>alert('패스워드가 일치하지 않습니다.');history.back();</script>");
        }
        else
        {
            res.redirect('/board/read/'+idx);
        }
    });
});
cs


 1-2. 소스 설명 
  • 51번 라인 
    • post로 넘어오는 /update URI를 바인딩 합니다.
  • 58번 라인
    • 변수로 넘어온 데이터를 배열로 합칩니다. 
  • 60번 라인
    • update 쿼리를 작성 합니다. 글 고유번호와 비밀번호를 조건절로 걸었습니다.
  • 64번 라인
    • affectedRows - 해당 쿼리로 변경된 수에 행을 불러옵니다. 0이면 업데이트가 되지 않았으므로 비밀번호가 틀린 것입니다.
  • 66번 라인
    • 패스워드가 틀렸다면 send로 이전 페이지로 다시 보냅니다.
  • 70번 라인
    • 수정 성공후에 다시 원래 상세 페이지로 이동시킵니다.


수정은 등록과 다르게 update를 사용합니다. 권한이 작성자에게 있기 때문에 조건절로 해당 권한을 묻습니다. 
상세 페이지에서 요즘은 하나에 페이지에서 가능하도록 개발하는 추세 입니다.


마무리


업데이트까지 마무리 됐습니다.



아메리카노 한잔으로 배우는 Node.js Express 기본편



해당 내용은 제가 집필한 책에 일부를 발취한 내용입니다.
도움이 되셨으면 후원에 마음으로 제 책을 전국 온라인 서점에서 구매해보세요.



댓글