diff --git a/.idea/workspace.xml b/.idea/workspace.xml index af4938e628cb412bf70a27867aeb42bea0d5e30c..930a1330c791a5a6e595c2f92262614ceefa449d 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -61,7 +61,7 @@ <option name="number" value="Default" /> <option name="presentableId" value="Default" /> <updated>1607789956668</updated> - <workItem from="1607789957833" duration="319000" /> + <workItem from="1607789957833" duration="374000" /> </task> <servers /> </component> diff --git a/backend/routes/index.js b/backend/routes/index.js index b1878686c8ddf0658c41bfd25d7af098829546b7..31e403a1ca2f2f2eff271db8c26632a19a1ff24e 100644 --- a/backend/routes/index.js +++ b/backend/routes/index.js @@ -13,18 +13,18 @@ const ProtectComment = require('../models/protectcomment'); //회원가입 router.post('/Signup',function(req,res,next){ - console.log("in server !!"); - console.log("**************"+req.body); - + console.log("in server !!"); + console.log("**************"+req.body); + const userdb= new User({ userid:req.body.userid, userpassword:req.body.userpassword }); - + userdb.save((err)=>{ - + res.redirect('http://localhost:3000'); }) @@ -33,21 +33,21 @@ router.post('/Signup',function(req,res,next){ //로그인 router.post('/Signin',function(req,res,next){ - console.log("in 로그인 server !!"); - console.log("**************"+req.body); - - User.find(function(err,us){ - var cnt2=-1; - us.forEach(cnt=>{ - cnt2+=1; - if(us[cnt2].userid===req.body.signinID && us[cnt2].userpassword===req.body.signinPWD){ - res.redirect('http://localhost:3000/') - } - - - }); - - }) + console.log("in 로그인 server !!"); + console.log("**************"+req.body); + + User.find(function(err,us){ + var cnt2=-1; + us.forEach(cnt=>{ + cnt2+=1; + if(us[cnt2].userid===req.body.signinID && us[cnt2].userpassword===req.body.signinPWD){ + res.redirect('http://localhost:3000/') + } + + + }); + + }) }) @@ -56,101 +56,101 @@ router.post('/Signin',function(req,res,next){ router.use(bodyParser.urlencoded({extended: true})); //게시판 글쓰기 (회원 여부 확인하여 존재하는 회원만 글쓰기 가능) router.post('/Createboard',function(req,res,next){ - console.log("!!!!!!!!!!!createFreemoard server"); - User.find(function(err,us){ - var cnt2=-1; - us.forEach(cnt=>{ - cnt2+=1; - if(us[cnt2].userid===req.body.userid && us[cnt2].userpassword===req.body.userpsw){ - console.log(us[cnt2].userid); - console.log(us[cnt2].userpassword); - const boarddb=new Board({ - boarduserid:req.body.userid, - boarduserpsw:req.body.userpsw, - boardtitle:req.body.title, - boardcontent:req.body.content - - }); - boarddb.save((err)=>{ - res.redirect('http://localhost:3000/freeboard'); - }) - } - - - - + console.log("!!!!!!!!!!!createFreemoard server"); + User.find(function(err,us){ + var cnt2=-1; + us.forEach(cnt=>{ + cnt2+=1; + if(us[cnt2].userid===req.body.userid && us[cnt2].userpassword===req.body.userpsw){ + console.log(us[cnt2].userid); + console.log(us[cnt2].userpassword); + const boarddb=new Board({ + boarduserid:req.body.userid, + boarduserpsw:req.body.userpsw, + boardtitle:req.body.title, + boardcontent:req.body.content + }); - - }) + boarddb.save((err)=>{ + res.redirect('http://localhost:3000/freeboard'); + }) + } + + + + + }); + + }) }) //찾아주세요 게시글 작성 router.post('/Createfindboard',function(req,res,next){ - console.log("!!!!!!!!!!!createfindboard server"); - console.log(req.body); - - - User.find(function(err,us){ - var cnt2=-1; - us.forEach(cnt=>{ - cnt2+=1; - if(us[cnt2].userid===req.body.userid && us[cnt2].userpassword===req.body.userpsw){ - console.log(us[cnt2].userid); - const boarddb=new FindBoard({ - findboarduserid:req.body.userid, - findboarduserpsw:req.body.userpsw, - findboardtitle:req.body.title, - findboardcontent:req.body.content, - findboardplace:req.body.place, - findboardimg:req.body.imgfile, - - }); - boarddb.save((err)=>{ - res.redirect('http://localhost:3000/find'); - }) - } - - + console.log("!!!!!!!!!!!createfindboard server"); + console.log(req.body); + + + User.find(function(err,us){ + var cnt2=-1; + us.forEach(cnt=>{ + cnt2+=1; + if(us[cnt2].userid===req.body.userid && us[cnt2].userpassword===req.body.userpsw){ + console.log(us[cnt2].userid); + const boarddb=new FindBoard({ + findboarduserid:req.body.userid, + findboarduserpsw:req.body.userpsw, + findboardtitle:req.body.title, + findboardcontent:req.body.content, + findboardplace:req.body.place, + findboardimg:req.body.imgfile, + }); - - }) + boarddb.save((err)=>{ + res.redirect('http://localhost:3000/find'); + }) + } + + + }); + + }) }) //보호중이에요 게시글 작성 router.post('/Createprotectboard',function(req,res,next){ - console.log("!!!!!!!!!!!createprotectboard server"); - console.log(req.body); - - - User.find(function(err,us){ - var cnt7=-1; - us.forEach(cnt=>{ - cnt7+=1; - if(us[cnt7].userid===req.body.userid && us[cnt7].userpassword===req.body.userpsw){ - console.log(us[cnt7].userid); - const protectboarddb=new ProtectBoard({ - protectboarduserid:req.body.userid, - protectboarduserpsw:req.body.userpsw, - protectboardtitle:req.body.title, - protectboardcontent:req.body.content, - protectboardplace:req.body.place, - protectboardimg:req.body.imgfile, - - }); - protectboarddb.save((err)=>{ - res.redirect('http://localhost:3000/protect'); - }) - } - - + console.log("!!!!!!!!!!!createprotectboard server"); + console.log(req.body); + + + User.find(function(err,us){ + var cnt7=-1; + us.forEach(cnt=>{ + cnt7+=1; + if(us[cnt7].userid===req.body.userid && us[cnt7].userpassword===req.body.userpsw){ + console.log(us[cnt7].userid); + const protectboarddb=new ProtectBoard({ + protectboarduserid:req.body.userid, + protectboarduserpsw:req.body.userpsw, + protectboardtitle:req.body.title, + protectboardcontent:req.body.content, + protectboardplace:req.body.place, + protectboardimg:req.body.imgfile, + }); - - - }) + protectboarddb.save((err)=>{ + res.redirect('http://localhost:3000/protect'); + }) + } + + + }); + + + }) }) @@ -158,37 +158,37 @@ router.post('/Createprotectboard',function(req,res,next){ //자유게시판에서 제목을 누르면 해당 content 열람 가능 router.get('/Readboard',function(req,res,next){ - console.log("!!!!@@@@@@ read board server!!!"); - - Board.find(function(err, board){ + console.log("!!!!@@@@@@ read board server!!!"); + + Board.find(function(err, board){ //console.log(board); if(err) return res.status(500).send({error: 'database failure'}); res.send(board); - }); + }); }) //찾아주세요 페이지의 게시글 리스트 router.get('/Readfindboard',function(req,res,next){ - console.log("!!!!@@@@@@ read find board server!!!"); - - FindBoard.find(function(err, findboard){ + console.log("!!!!@@@@@@ read find board server!!!"); + + FindBoard.find(function(err, findboard){ //console.log(board); if(err) return res.status(500).send({error: 'database failure'}); res.send(findboard); - }); + }); }) //보호해주세요 페이지의 게시글 리스트 router.get('/Readprotectboard',function(req,res,next){ - console.log("!!!!@@@@@@ read protect board server!!!"); - - ProtectBoard.find(function(err, protectboard){ + console.log("!!!!@@@@@@ read protect board server!!!"); + + ProtectBoard.find(function(err, protectboard){ //console.log(board); if(err) return res.status(500).send({error: 'database failure'}); res.send(protectboard); - }); + }); }) @@ -196,320 +196,319 @@ router.get('/Readprotectboard',function(req,res,next){ //댓글 리스트 출력 router.get('/Readcomment',function(req,res,next){ - console.log("~~~~~~~~read comment server !"); - Comment.find(function(err,comment){ - if(err) return res.status(500).send({error: 'database failure'}); - res.send(comment); + console.log("~~~~~~~~read comment server !"); + Comment.find(function(err,comment){ + if(err) return res.status(500).send({error: 'database failure'}); + res.send(comment); - }) + }) }) //find 댓글 리스트 출력 router.get('/Readfindcomment',function(req,res,next){ - console.log("~~~~~~~~read find comment server !"); - FindComment.find(function(err,fcomment){ - if(err) return res.status(500).send({error: 'database failure'}); - res.send(fcomment); + console.log("~~~~~~~~read find comment server !"); + FindComment.find(function(err,fcomment){ + if(err) return res.status(500).send({error: 'database failure'}); + res.send(fcomment); - }) + }) }) //protect 댓글 리스트 출력 router.get('/Readprotectcomment',function(req,res,next){ - console.log("~~~~~~~~read protect comment server !"); - ProtectComment.find(function(err,pcomment){ - if(err) return res.status(500).send({error: 'database failure'}); - res.send(pcomment); + console.log("~~~~~~~~read protect comment server !"); + ProtectComment.find(function(err,pcomment){ + if(err) return res.status(500).send({error: 'database failure'}); + res.send(pcomment); - }) + }) }) //게시글 삭제 router.post('/Deleteboard',function(req,res,next){ - console.log(req.body); - - if(req.body.adminid===req.body.bduserid&&req.body.adminpwd===req.body.bdpwd ){ - Board.deleteOne({_id:req.body.delid}).then((result)=>{ - - res.redirect('http://localhost:3000/freeboard'); - }).catch((err)=>{ - var response={ - success:false - } - res.status(401).json(response); - }); - - - } - else{ - res.status(200).send("<script>alert(\"삭제 권한이 없습니다\")</script>"); - } + console.log(req.body); + + if(req.body.adminid===req.body.bduserid&&req.body.adminpwd===req.body.bdpwd ){ + Board.deleteOne({_id:req.body.delid}).then((result)=>{ + + res.redirect('http://localhost:3000/freeboard'); + }).catch((err)=>{ + var response={ + success:false + } + res.status(401).json(response); + }); + } + else{ + res.status(200).send("<script>alert(\"삭제 권한이 없습니다\")</script>"); + } + + }); //댓글 삭제 router.post('/Deletecomment',function(req,res,next){ - console.log(req.body); - - if(req.body.delcmid===req.body.cmdbuserid&&req.body.delcmpwd===req.body.cmdbpwd ){ - Comment.deleteOne({_id:req.body.delcm}).then((result)=>{ - - res.redirect('http://localhost:3000/boardcontent'+req.body.interid); - }).catch((err)=>{ - var response={ - success:false - } - res.status(401).json(response); - }); - - - } - else{ - - res.status(200).send("<script>alert(\"삭제 권한이 없습니다\")</script>"); - } + console.log(req.body); + + if(req.body.delcmid===req.body.cmdbuserid&&req.body.delcmpwd===req.body.cmdbpwd ){ + Comment.deleteOne({_id:req.body.delcm}).then((result)=>{ + + res.redirect('http://localhost:3000/boardcontent'+req.body.interid); + }).catch((err)=>{ + var response={ + success:false + } + res.status(401).json(response); + }); + } + else{ + + res.status(200).send("<script>alert(\"삭제 권한이 없습니다\")</script>"); + } + + }); //찾아주세요 댓글 삭제 router.post('/Deletefindcomment',function(req,res,next){ - console.log(req.body); - - if(req.body.delcmid===req.body.cmdbuserid&&req.body.delcmpwd===req.body.cmdbpwd ){ - FindComment.deleteOne({_id:req.body.delfindcm}).then((result)=>{ - - res.redirect('http://localhost:3000/findcontent'+req.body.interid); - }).catch((err)=>{ - var response={ - success:false - } - res.status(401).json(response); - }); - - - } - else{ - - res.status(200).send("<script>alert(\"삭제 권한이 없습니다\")</script>"); - } + console.log(req.body); + + if(req.body.delcmid===req.body.cmdbuserid&&req.body.delcmpwd===req.body.cmdbpwd ){ + FindComment.deleteOne({_id:req.body.delfindcm}).then((result)=>{ + + res.redirect('http://localhost:3000/findcontent'+req.body.interid); + }).catch((err)=>{ + var response={ + success:false + } + res.status(401).json(response); + }); + } + else{ + + res.status(200).send("<script>alert(\"삭제 권한이 없습니다\")</script>"); + } + + }); //보호중이에요 댓글 삭제 router.post('/Deleteprotectcomment',function(req,res,next){ - console.log(req.body); - - if(req.body.delcmid===req.body.cmdbuserid&&req.body.delcmpwd===req.body.cmdbpwd ){ - ProtectComment.deleteOne({_id:req.body.delfindcm}).then((result)=>{ - - res.redirect('http://localhost:3000/protectcontent'+req.body.interid); - }).catch((err)=>{ - var response={ - success:false - } - res.status(401).json(response); - }); - - - } - else{ + console.log(req.body); + + if(req.body.delcmid===req.body.cmdbuserid&&req.body.delcmpwd===req.body.cmdbpwd ){ + ProtectComment.deleteOne({_id:req.body.delfindcm}).then((result)=>{ + + res.redirect('http://localhost:3000/protectcontent'+req.body.interid); + }).catch((err)=>{ + var response={ + success:false + } + res.status(401).json(response); + }); - res.status(200).send("<script>alert(\"삭제 권한이 없습니다\")</script>"); - } + } + else{ + + res.status(200).send("<script>alert(\"삭제 권한이 없습니다\")</script>"); + } + }); //찾아주세요 게시글 삭제 router.post('/Deletefindboard',function(req,res,next){ - console.log(req.body); - - if(req.body.adminid===req.body.bduserid&&req.body.adminpwd===req.body.bdpwd ){ - FindBoard.deleteOne({_id:req.body.delid}).then((result)=>{ - - res.redirect('http://localhost:3000/find'); - }).catch((err)=>{ - var response={ - success:false - } - res.status(401).json(response); - }); - - - } - else{ + console.log(req.body); + + if(req.body.adminid===req.body.bduserid&&req.body.adminpwd===req.body.bdpwd ){ + FindBoard.deleteOne({_id:req.body.delid}).then((result)=>{ + + res.redirect('http://localhost:3000/find'); + }).catch((err)=>{ + var response={ + success:false + } + res.status(401).json(response); + }); - res.status(200).send("<script>alert(\"삭제 권한이 없습니다\")</script>"); - } + } + else{ + + res.status(200).send("<script>alert(\"삭제 권한이 없습니다\")</script>"); + } + }); //보호중이에요 게시글 삭제 router.post('/Deleteprotectboard',function(req,res,next){ - console.log(req.body); - - if(req.body.adminid===req.body.bduserid&&req.body.adminpwd===req.body.bdpwd ){ - ProtectBoard.deleteOne({_id:req.body.delid}).then((result)=>{ - - res.redirect('http://localhost:3000/protect'); - }).catch((err)=>{ - var response={ - success:false - } - res.status(401).json(response); - }); - - - } - else{ + console.log(req.body); + + if(req.body.adminid===req.body.bduserid&&req.body.adminpwd===req.body.bdpwd ){ + ProtectBoard.deleteOne({_id:req.body.delid}).then((result)=>{ + + res.redirect('http://localhost:3000/protect'); + }).catch((err)=>{ + var response={ + success:false + } + res.status(401).json(response); + }); - res.status(200).send("<script>alert(\"삭제 권한이 없습니다\")</script>"); - } + } + else{ + + res.status(200).send("<script>alert(\"삭제 권한이 없습니다\")</script>"); + } + }); //게시글 수정 router.post('/Editboard',function(req,res,next){ - console.log(req.body); - - - if(req.body.editid===req.body.bduserid&&req.body.editpwd===req.body.bdpwd ){ - - Board.findByIdAndUpdate(req.body.edid, {$set:{boardtitle:req.body.edittitle,boardcontent:req.body.editcontent}}, (err, movies)=>{ - res.redirect('http://localhost:3000/freeboard'); - }); - - } - else{ - - res.status(200).send("<script>alert(\"수정 권한이 없습니다\")</script>"); - } + console.log(req.body); + + + if(req.body.editid===req.body.bduserid&&req.body.editpwd===req.body.bdpwd ){ + + Board.findByIdAndUpdate(req.body.edid, {$set:{boardtitle:req.body.edittitle,boardcontent:req.body.editcontent}}, (err, movies)=>{ + res.redirect('http://localhost:3000/freeboard'); + }); + } + else{ + + res.status(200).send("<script>alert(\"수정 권한이 없습니다\")</script>"); + } + }); //찾아주세요 게시글 수정 router.post('/Editfindboard',function(req,res,next){ - console.log(req.body); - - - if(req.body.editid===req.body.bduserid&&req.body.editpwd===req.body.bdpwd ){ - - FindBoard.findByIdAndUpdate(req.body.edid, {$set:{findboardtitle:req.body.edittitle,findboardcontent:req.body.editcontent,findboardplace:req.body.editplace}}, (err, movies)=>{ - res.redirect('http://localhost:3000/find'); - }); - - } - else{ + console.log(req.body); + + + if(req.body.editid===req.body.bduserid&&req.body.editpwd===req.body.bdpwd ){ + + FindBoard.findByIdAndUpdate(req.body.edid, {$set:{findboardtitle:req.body.edittitle,findboardcontent:req.body.editcontent,findboardplace:req.body.editplace}}, (err, movies)=>{ + res.redirect('http://localhost:3000/find'); + }); - res.status(200).send("<script>alert(\"수정 권한이 없습니다\")</script>"); - } + } + else{ + + res.status(200).send("<script>alert(\"수정 권한이 없습니다\")</script>"); + } }); //보호중이에요 게시글 수정 router.post('/Editprotectboard',function(req,res,next){ - console.log(req.body); - - - if(req.body.editid===req.body.bduserid&&req.body.editpwd===req.body.bdpwd ){ - - ProtectBoard.findByIdAndUpdate(req.body.edid, {$set:{protectboardtitle:req.body.edittitle,protectboardcontent:req.body.editcontent,protectboardplace:req.body.editplace}}, (err, movies)=>{ - res.redirect('http://localhost:3000/protect'); - }); - - } - else{ - - res.status(200).send("<script>alert(\"수정 권한이 없습니다\")</script>"); - } + console.log(req.body); + + + if(req.body.editid===req.body.bduserid&&req.body.editpwd===req.body.bdpwd ){ + + ProtectBoard.findByIdAndUpdate(req.body.edid, {$set:{protectboardtitle:req.body.edittitle,protectboardcontent:req.body.editcontent,protectboardplace:req.body.editplace}}, (err, movies)=>{ + res.redirect('http://localhost:3000/protect'); + }); + } + else{ + + res.status(200).send("<script>alert(\"수정 권한이 없습니다\")</script>"); + } + }); //자유 게시판 댓글 추가 router.post('/Addcomment',function(req,res,next){ - //console.log(req.body); - User.find(function(err,us){ - var cnt4=-1; - us.forEach(cnt9=>{ - cnt4+=1; - if(us[cnt4].userid===req.body.commentid && us[cnt4].userpassword===req.body.commentpwd){ - console.log(req.body); - //console.log(us[cnt4].commentpwd); - const commentdb=new Comment({ - commentUserid:req.body.commentid, - commentUserpwd:req.body.commentpwd, - commentContent:req.body.commentcontent, - commentId:req.body.commentkey - - }); - commentdb.save((err)=>{ - console.log("commentkey"+req.body.commentkey); - res.redirect('http://localhost:3000/boardcontent'+req.body.commentkey); - }) - } - + //console.log(req.body); + User.find(function(err,us){ + var cnt4=-1; + us.forEach(cnt9=>{ + cnt4+=1; + if(us[cnt4].userid===req.body.commentid && us[cnt4].userpassword===req.body.commentpwd){ + console.log(req.body); + //console.log(us[cnt4].commentpwd); + const commentdb=new Comment({ + commentUserid:req.body.commentid, + commentUserpwd:req.body.commentpwd, + commentContent:req.body.commentcontent, + commentId:req.body.commentkey + }); - - }) + commentdb.save((err)=>{ + console.log("commentkey"+req.body.commentkey); + res.redirect('http://localhost:3000/boardcontent'+req.body.commentkey); + }) + } + + }); + + }) }) //찾아주세요 댓글 추가 router.post('/Addfindcomment',function(req,res,next){ - //console.log(req.body); - User.find(function(err,us){ - var cnt4=-1; - us.forEach(cnt9=>{ - cnt4+=1; - if(us[cnt4].userid===req.body.commentid && us[cnt4].userpassword===req.body.commentpwd){ - console.log(req.body); - //console.log(us[cnt4].commentpwd); - const findcommentdb=new FindComment({ - commentUserid:req.body.commentid, - commentUserpwd:req.body.commentpwd, - commentContent:req.body.commentcontent, - commentId:req.body.commentkey - - }); - findcommentdb.save((err)=>{ - console.log("commentkey"+req.body.commentkey); - res.redirect('http://localhost:3000/findcontent'+req.body.commentkey); - }) - } - + //console.log(req.body); + User.find(function(err,us){ + var cnt4=-1; + us.forEach(cnt9=>{ + cnt4+=1; + if(us[cnt4].userid===req.body.commentid && us[cnt4].userpassword===req.body.commentpwd){ + console.log(req.body); + //console.log(us[cnt4].commentpwd); + const findcommentdb=new FindComment({ + commentUserid:req.body.commentid, + commentUserpwd:req.body.commentpwd, + commentContent:req.body.commentcontent, + commentId:req.body.commentkey + }); - - }) + findcommentdb.save((err)=>{ + console.log("commentkey"+req.body.commentkey); + res.redirect('http://localhost:3000/findcontent'+req.body.commentkey); + }) + } + + }); + + }) }) //보호중이에요 댓글 추가 router.post('/Addprotectcomment',function(req,res,next){ - //console.log(req.body); - User.find(function(err,us){ - var cnt4=-1; - us.forEach(cnt9=>{ - cnt4+=1; - if(us[cnt4].userid===req.body.commentid && us[cnt4].userpassword===req.body.commentpwd){ - console.log(req.body); - //console.log(us[cnt4].commentpwd); - const protectcommentdb=new ProtectComment({ - commentUserid:req.body.commentid, - commentUserpwd:req.body.commentpwd, - commentContent:req.body.commentcontent, - commentId:req.body.commentkey - - }); - protectcommentdb.save((err)=>{ - console.log("commentkey"+req.body.commentkey); - res.redirect('http://localhost:3000/protectcontent'+req.body.commentkey); - }) - } - + //console.log(req.body); + User.find(function(err,us){ + var cnt4=-1; + us.forEach(cnt9=>{ + cnt4+=1; + if(us[cnt4].userid===req.body.commentid && us[cnt4].userpassword===req.body.commentpwd){ + console.log(req.body); + //console.log(us[cnt4].commentpwd); + const protectcommentdb=new ProtectComment({ + commentUserid:req.body.commentid, + commentUserpwd:req.body.commentpwd, + commentContent:req.body.commentcontent, + commentId:req.body.commentkey + }); - - }) + protectcommentdb.save((err)=>{ + res.redirect('http://localhost:3000/protectcontent'+req.body.commentkey); + }) + } + + }); + + }) }) diff --git a/frontend/src/App.js b/frontend/src/App.js index 06ba445f29dac87539b96c80d9706c52ce88771a..4b421416d192bc413f2f71331a5e8cf7aa3ccb4d 100644 --- a/frontend/src/App.js +++ b/frontend/src/App.js @@ -31,44 +31,44 @@ class App extends React.Component { constructor(props) { super(props); this.state = { - + }; } - render() { - const {username} = this.state; - return ( - <Router> - <Route exact path="/" component={Main}/> - <Route path="/freeboard" component={FreeBoard}/> - <Route path="/find" component={Find}/> - <Route path="/protect" component={Protect}/> + render() { + const {username} = this.state; + return ( + <Router> + <Route exact path="/" component={Main}/> + <Route path="/freeboard" component={FreeBoard}/> + <Route path="/find" component={Find}/> + <Route path="/protect" component={Protect}/> - <Route path="/signup" component={Signup}/> - <Route path="/signin" component={Signin}/> + <Route path="/signup" component={Signup}/> + <Route path="/signin" component={Signin}/> - <Route path="/write" component={Write}/> + <Route path="/write" component={Write}/> - <Route path="/protectwrite" component={ProtectWrite}/> - <Route path="/protectcontent:protectboardId" component={ProtectContent}/> - <Route path="/protectdeladmin:protectboardId" component={ProtectDelAdmin}/> - <Route path="/protecteditadmin:protectboardId" component={ProtectEditAdmin}/> - <Route path="/delprotectcm:protectboardId" component={ProtectCommentDel}/> + <Route path="/protectwrite" component={ProtectWrite}/> + <Route path="/protectcontent:protectboardId" component={ProtectContent}/> + <Route path="/protectdeladmin:protectboardId" component={ProtectDelAdmin}/> + <Route path="/protecteditadmin:protectboardId" component={ProtectEditAdmin}/> + <Route path="/delprotectcm:protectboardId" component={ProtectCommentDel}/> - <Route path="/findwrite" component={FindWrite}/> - <Route path="/findcontent:findboardId" component={FindContent}/> - <Route path="/findeditadmin:findboardId" component={FindEditAdmin}/> - <Route path="/finddeladmin:findboardId" component={FindDelAdmin}/> - <Route path="/delfindcm:findboardId" component={FindCommentDel}/> + <Route path="/findwrite" component={FindWrite}/> + <Route path="/findcontent:findboardId" component={FindContent}/> + <Route path="/findeditadmin:findboardId" component={FindEditAdmin}/> + <Route path="/finddeladmin:findboardId" component={FindDelAdmin}/> + <Route path="/delfindcm:findboardId" component={FindCommentDel}/> - <Route path="/boardcontent:boardId" component={BoardContent}/> - <Route path="/editadmin:boardId" component={BoardEditAdmin}/> - <Route path="/deladmin:boardId" component={BoardDelAdmin}/> - <Route path="/delcm:boardId" component={CommentDel}/> - </Router> - ); - ; - } + <Route path="/boardcontent:boardId" component={BoardContent}/> + <Route path="/editadmin:boardId" component={BoardEditAdmin}/> + <Route path="/deladmin:boardId" component={BoardDelAdmin}/> + <Route path="/delcm:boardId" component={CommentDel}/> + </Router> + ); + ; + } } export default App; \ No newline at end of file diff --git a/frontend/src/component/BoardContent.js b/frontend/src/component/BoardContent.js index dfa8cf4a3db598a032879a04c8161c371e66e15a..ba228e981c354d287c66beff01df749335690d30 100644 --- a/frontend/src/component/BoardContent.js +++ b/frontend/src/component/BoardContent.js @@ -24,7 +24,7 @@ class BoardContent extends React.Component{ const response2 = await axios.get('http://localhost:3002/Readcomment'); console.log("loadingcommentdata"); - + this.setState({ contentboards:response.data, commentdata:response2.data, @@ -34,12 +34,12 @@ class BoardContent extends React.Component{ } }; - + componentDidMount() { - const { loadingData } = this; - //loadingData(); - loadingData(); + const { loadingData } = this; + //loadingData(); + loadingData(); } render(){ @@ -49,16 +49,16 @@ class BoardContent extends React.Component{ const {commentdata}=this.state; console.log(contentboards.map(i=>i.boardtitle)); console.log(commentdata.map(n=>n.commentId)); - + return( <div> <Header /> <div > {contentboards.map(i=> - + {if(i._id===boardId){ - + return( <div className="freeboardcontent"> <h4 className="boardtitle">제목</h4> @@ -69,32 +69,32 @@ class BoardContent extends React.Component{ <p/> <div className="us2" key={i._id}>{i.boarduserid}</div> - + <h4 className="boardcontent3">내용</h4> <p/> <div className="ct" key={i._id}>{i.boardcontent}</div> <p/> <div className="btn"><Link className="edibtn" to={`/editadmin${i._id}`}>수정</Link><Link className="delbtn" to={`/deladmin${i._id}`}>삭제</Link></div> - - - <br/> - - + + + <br/> + + </div> - ) + ) }} - + )} - + <p/> <h4 className="comm">댓글</h4> <form method="POST" action="http://localhost:3002/Addcomment"> - + <input className="controllid" type="text" name="commentid"></input> <input className="controllpwd" type="password" name="commentpwd"></input> <p/> <input type="hidden" name="commentkey" value={boardId}/> - + <div className="commbtn"><input type="text" name="commentcontent"></input><button type="submit">댓글추가</button></div> </form> @@ -105,28 +105,28 @@ class BoardContent extends React.Component{ <div className="commlt"> {commentdata.map(m=> {if(m.commentId===boardId){ - return( - <div className="commlog"> - <div key={m._id}>{m.commentContent} {m.commentUserid} <Link className="commdel" to={`/delcm${m.commentId}*${m._id}&`}> 댓글 삭제</Link></div> - - - </div> - - + return( + <div className="commlog"> + <div key={m._id}>{m.commentContent} {m.commentUserid} <Link className="commdel" to={`/delcm${m.commentId}*${m._id}&`}> 댓글 삭제</Link></div> + + + </div> + + + + ) + - ) - - - } + } } - + )} </div> - - + + </div> <Footer /> </div> diff --git a/frontend/src/component/BoardDelAdmin.js b/frontend/src/component/BoardDelAdmin.js index ae36c0f0b952ab4aa889ad1d2f3f7d6af95b0812..d1a6729cf5000e4510b9fc52d51b3cf10286efbc 100644 --- a/frontend/src/component/BoardDelAdmin.js +++ b/frontend/src/component/BoardDelAdmin.js @@ -17,7 +17,6 @@ class BoardDelAdmin extends React.Component{ loadingData=async()=>{ try{ const response = await axios.get('http://localhost:3002/Readboard'); - console.log("hi"); this.setState({ adminboards:response.data, }); @@ -26,9 +25,9 @@ class BoardDelAdmin extends React.Component{ } }; componentDidMount() { - const { loadingData } = this; - //loadingData(); - loadingData(); + const { loadingData } = this; + //loadingData(); + loadingData(); } render(){ let boardAdminId = window.location.pathname.replace("/deladmin",""); @@ -55,10 +54,10 @@ class BoardDelAdmin extends React.Component{ <p/> <span key={i._id}>{i.boardcontent}</span> <p/> - + <form method="POST" action="http://localhost:3002/Deleteboard"> <input type="hidden" value={i._id} name="delid"></input> - + <input className="controllid" type="text" name="adminid"></input> <input className="controllpwd" type="password" name="adminpwd"></input> <p/> diff --git a/frontend/src/component/BoardEditAdmin.js b/frontend/src/component/BoardEditAdmin.js index 974571b319b93ae403b3ce13f5ef0737651e187a..d1e9248ac4db9dc7fae976b0cba9e017625dbf35 100644 --- a/frontend/src/component/BoardEditAdmin.js +++ b/frontend/src/component/BoardEditAdmin.js @@ -18,7 +18,7 @@ class BoardEditAdmin extends React.Component{ loadingData=async()=>{ try{ const response = await axios.get('http://localhost:3002/Readboard'); - console.log("hi"); + this.setState({ editboards:response.data, }); @@ -27,9 +27,9 @@ class BoardEditAdmin extends React.Component{ } }; componentDidMount() { - const { loadingData } = this; - //loadingData(); - loadingData(); + const { loadingData } = this; + //loadingData(); + loadingData(); } render(){ let boardEditId = window.location.pathname.replace("/editadmin",""); @@ -42,7 +42,7 @@ class BoardEditAdmin extends React.Component{ <Header /> <div> {editboards.map(i=> - + {if(i._id===boardEditId){ return( <div className="all"> @@ -51,7 +51,7 @@ class BoardEditAdmin extends React.Component{ <span className="userinfo" key={i._id}>{i.boarduserid}</span> <form method="POST" action="http://localhost:3002/Editboard"> <input type="hidden" value={i._id} name="edid"></input> - + <input className="controllid" type="text" name="editid"></input> <input className="controllpwd" type="password" name="editpwd"></input> <p/> diff --git a/frontend/src/component/CommentDel.js b/frontend/src/component/CommentDel.js index 4aca2c647f78f528f28cb74fc98afea965162b6e..20fb851bae27922e921165ec208e046057684b9d 100644 --- a/frontend/src/component/CommentDel.js +++ b/frontend/src/component/CommentDel.js @@ -21,7 +21,7 @@ class CommentDel extends React.Component{ const response2 = await axios.get('http://localhost:3002/Readcomment'); console.log("loadingcommentdata"); - + this.setState({ commentdata:response2.data, }); @@ -30,12 +30,12 @@ class CommentDel extends React.Component{ } }; - + componentDidMount() { - const { loadingData } = this; - //loadingData(); - loadingData(); + const { loadingData } = this; + //loadingData(); + loadingData(); } render(){ @@ -43,18 +43,15 @@ class CommentDel extends React.Component{ let end = window.location.pathname.indexOf('&',start+1); let cmid = window.location.pathname.substring(start+1,end); - console.log("cmid==="+cmid); - console.log(start,end); + let comid = window.location.pathname.replace(cmid,""); let comid2 = comid.replace("/delcm",""); let comid3=comid2.replace("*&",""); - - console.log("comid==="+comid3); - //console.log("id이지롱"+boardCmId); + + const {commentdata}=this.state; - console.log(commentdata.map(n=>n.commentId)); return( <div> @@ -64,7 +61,7 @@ class CommentDel extends React.Component{ {if(i._id===cmid){ return( <div className="all"> - + <h4 className="user">작성자</h4> <p/> <span key={i._id}>{i.commentUserid} </span> @@ -72,13 +69,13 @@ class CommentDel extends React.Component{ <h4 className="cocontent">댓글내용</h4> <p/> <span key={i._id}>{i.commentContent} </span> - + <form method="POST" action="http://localhost:3002/Deletecomment"> <input className="controllid" type="text" name="delcmid"></input> <input className="controllpwd" type="password" name="delcmpwd"></input> <input type="hidden" value={i._id} name="delcm"></input> - + <p/> <input type="hidden" value={i.commentId} name="interid"/> <input type="hidden" value={i.commentUserid} name="cmdbuserid"/> diff --git a/frontend/src/component/Find.js b/frontend/src/component/Find.js index 45119c31659df0cb3102ece070c5e458fe0be4a8..2668277f7487844cb72958e4d8d0e262fbc3a9e4 100644 --- a/frontend/src/component/Find.js +++ b/frontend/src/component/Find.js @@ -13,8 +13,8 @@ class Find extends React.Component{ findboards:[], }; } - - + + loadingData=async()=>{ try{ const response = await axios.get('http://localhost:3002/Readfindboard'); @@ -22,63 +22,62 @@ class Find extends React.Component{ this.setState({ findboards:response.data, }); - - + + }catch(e){ console.log(e); } }; componentDidMount() { - const { loadingData } = this; - loadingData(); - //loadingData(); - + const { loadingData } = this; + loadingData(); + //loadingData(); + } render(){ - console.log("hihi") const{findboards}=this.state; console.log(findboards.map(i=>i._id)); - - + + return( <div> <Header /> - + { <div className="findmaster"> - + <h1 className="h1find">찾아주세요</h1> <div className="findwrite"> - <a className="fwr" href="./findwrite">게시물작성</a> + <a className="fwr" href="./findwrite">게시물작성</a> </div> <div className="find-list"> - - + + {findboards.map((i)=> - + <div className="list"> <Link className="findlink" to={`/findcontent${i._id}`}> - - + + <img width="200px" key={i._id} src={"/images/"+i.findboardimg}></img> <div className="pla" key={i._id}>{i.findboardplace}</div> <div key={i._id}>{i.findboardtitle}</div> <div key={i._id}>{i.findboarduserid}</div> {console.log("../image/"+i.findboardimg)} - + </Link> </div> - + )} - + </div> - + </div> - + } <Footer /> </div> diff --git a/frontend/src/component/FindCommentDel.js b/frontend/src/component/FindCommentDel.js index 1d309ffcb5309915727305a2d36ec85128879687..c69ac85060b155a3f50fb4baf42175e0cc0ceab7 100644 --- a/frontend/src/component/FindCommentDel.js +++ b/frontend/src/component/FindCommentDel.js @@ -20,7 +20,7 @@ class FindCommentDel extends React.Component{ const response2 = await axios.get('http://localhost:3002/Readfindcomment'); console.log("loadingcommentdata"); - + this.setState({ commentdata:response2.data, }); @@ -29,11 +29,11 @@ class FindCommentDel extends React.Component{ } }; - + componentDidMount() { - const { loadingData } = this; - loadingData(); + const { loadingData } = this; + loadingData(); } render(){ @@ -41,16 +41,13 @@ class FindCommentDel extends React.Component{ let end = window.location.pathname.indexOf('&',start+1); let cmid = window.location.pathname.substring(start+1,end); - console.log("cmid==="+cmid); - console.log(start,end); + let comid = window.location.pathname.replace(cmid,""); let comid2 = comid.replace("/delfindcm",""); let comid3=comid2.replace("*&",""); - - console.log("comid==="+comid3); - //console.log("id이지롱"+boardCmId); - + + const {commentdata}=this.state; console.log(commentdata.map(n=>n.commentId)); @@ -62,8 +59,8 @@ class FindCommentDel extends React.Component{ {if(i._id===cmid){ return( <div className="all"> - - + + <h4 className="user">작성자</h4> <p/> <span key={i._id}>{i.commentUserid} </span> @@ -71,11 +68,11 @@ class FindCommentDel extends React.Component{ <h4 className="cocontent">댓글내용</h4> <p/> <span key={i._id}>{i.commentContent} </span> - - - + + + <form method="POST" action="http://localhost:3002/Deletefindcomment"> - + <input className="controllid" type="text" name="delcmid"></input> <input className="controllpwd" type="password" name="delcmpwd"></input> diff --git a/frontend/src/component/FindContent.js b/frontend/src/component/FindContent.js index e8e9ec2fdee7f4cb981deca49397d327fd48b0a4..e48042071af0287118276ff8260ee9dde0c001cb 100644 --- a/frontend/src/component/FindContent.js +++ b/frontend/src/component/FindContent.js @@ -25,7 +25,7 @@ class FindContent extends React.Component{ const response2 = await axios.get('http://localhost:3002/Readfindcomment'); console.log("loadingcommentdata"); - + this.setState({ contentfindboards:response.data, findcommentdata:response2.data, @@ -35,22 +35,20 @@ class FindContent extends React.Component{ } }; - + componentDidMount() { - const { loadingData } = this; - loadingData(); - //loadingData(); + const { loadingData } = this; + loadingData(); + //loadingData(); } render(){ let findboardId = window.location.pathname.replace("/findcontent",""); - console.log("id이지롱"+findboardId); + const{contentfindboards}=this.state; const {findcommentdata}=this.state; - console.log(contentfindboards.map(i=>i.findboardtitle)); - // console.log(findcommentdata.map(n=>n.commentId)); - + return( <div> @@ -58,9 +56,9 @@ class FindContent extends React.Component{ <div className="findboardcontent"> <div className="fboard"> {contentfindboards.map(i=> - + {if(i._id===findboardId){ - + return( <div className="findboardcontent"> <h4 className="findboardtitle">제목</h4> @@ -77,31 +75,31 @@ class FindContent extends React.Component{ <p/> <img width="200px" key={i._id} src={"/images/"+i.findboardimg}></img> <p/> - + <h4 className="findboardcontent2">내용</h4> <p/> <div key={i._id}>{i.findboardcontent}</div> - + <p/> <div className="findbtn"><Link className="edibtn" to={`/findeditadmin${i._id}`}>수정</Link><Link className="delbtn" to={`/finddeladmin${i._id}`}>삭제</Link></div> - - <br/> - - + + <br/> + + </div> - ) + ) }} - + )} </div> - - + + <p/> <h4 className="h4com">댓글</h4> <div className="comminput"> {<form method="POST" action="http://localhost:3002/Addfindcomment"> - + <input className="controllid" type="text" name="commentid"></input> <input className="controllpwd" type="password" name="commentpwd"></input> <p/> @@ -114,34 +112,34 @@ class FindContent extends React.Component{ </form>} </div> - + <p/> <h4 className="comlist">댓글 리스트</h4> <div className="comli"> {findcommentdata.map(m=> {if(m.commentId===findboardId){ - return( - <div className="comlog"> - - <div key={m._id}>{m.commentContent} {m.commentUserid} <Link className="commdel" to={`/delfindcm${m.commentId}*${m._id}&`}> 댓글 삭제</Link></div> - - </div> - + return( + <div className="comlog"> + + <div key={m._id}>{m.commentContent} {m.commentUserid} <Link className="commdel" to={`/delfindcm${m.commentId}*${m._id}&`}> 댓글 삭제</Link></div> + </div> + + + + ) + - ) - - - } + } } - + )} </div> - - + + </div> <Footer /> </div> diff --git a/frontend/src/component/FindDelAdmin.js b/frontend/src/component/FindDelAdmin.js index 7af01a9a264e50ffa46865ff1b68965e5fbb9e58..80bda2b513f6d00ea80d461b48e404a4c8874167 100644 --- a/frontend/src/component/FindDelAdmin.js +++ b/frontend/src/component/FindDelAdmin.js @@ -16,7 +16,7 @@ class FindDelAdmin extends React.Component{ loadingData=async()=>{ try{ const response = await axios.get('http://localhost:3002/Readfindboard'); - console.log("hi"); + this.setState({ adminboards:response.data, }); @@ -25,9 +25,9 @@ class FindDelAdmin extends React.Component{ } }; componentDidMount() { - const { loadingData } = this; - loadingData(); - //loadingData(); + const { loadingData } = this; + loadingData(); + //loadingData(); } render(){ let boardAdminId = window.location.pathname.replace("/finddeladmin",""); @@ -42,29 +42,29 @@ class FindDelAdmin extends React.Component{ return( <div className="con"> <h4 className="user">작성자</h4> - + <span key={i._id}>{i.findboarduserid}</span> <p/> <h4 className="titlename">제목</h4> - + <span key={i._id}>{i.findboardtitle}</span> <p/> - - + + <h4 className="fcontentplace">장소</h4> - + <span key={i._id}>{i.findboardplace}</span> <p/> <h4 className="fcontentimg">이미지</h4> - + <img width="200px" key={i._id} src={"/images/"+i.findboardimg}></img> <p/> <h4 className="contentname">내용</h4> - + <span key={i._id}>{i.findboardcontent}</span> <p/> <form method="POST" action="http://localhost:3002/Deletefindboard"> - + <input className="controllid" type="text" name="adminid"></input> <input className="controllpwd" type="password" name="adminpwd"></input> diff --git a/frontend/src/component/FindEditAdmin.js b/frontend/src/component/FindEditAdmin.js index 7c69aeaf94242fbde20061205bd51433a59a892f..fb70c9ad35543bba6554ada99231f507d50924c5 100644 --- a/frontend/src/component/FindEditAdmin.js +++ b/frontend/src/component/FindEditAdmin.js @@ -17,7 +17,7 @@ class FindEditAdmin extends React.Component{ loadingData=async()=>{ try{ const response = await axios.get('http://localhost:3002/Readfindboard'); - console.log("hi"); + this.setState({ editfindboards:response.data, }); @@ -26,9 +26,9 @@ class FindEditAdmin extends React.Component{ } }; componentDidMount() { - const { loadingData } = this; - loadingData(); - //loadingData(); + const { loadingData } = this; + loadingData(); + //loadingData(); } render(){ let findboardEditId = window.location.pathname.replace("/findeditadmin",""); @@ -41,7 +41,7 @@ class FindEditAdmin extends React.Component{ <Header /> <div> {editfindboards.map(i=> - + {if(i._id===findboardEditId){ return( <div className="all"> @@ -67,14 +67,14 @@ class FindEditAdmin extends React.Component{ <h4 className="fcontentimg">이미지</h4> <p/> <img width="200px" key={i._id} src={"/images/"+i.findboardimg}></img> - + <p/> <h4 className="contentname">내용</h4> <p/> <textarea className="txtarea" type="text" placeholder={i.findboardcontent} name="editcontent"/> <p/> - - + + <input type="hidden" value={i.findboardtitle} name="beforetitle"/> <input type="hidden" value={i.findboardcontent} name="beforecontent"/> <input type="hidden" value={i.findboardplace} name="beforeplace"/> diff --git a/frontend/src/component/FindWrite.js b/frontend/src/component/FindWrite.js index 71746214984c2e373b614563787c96427177474b..598f7caf5cc2952426c89135ea83d8adbf26f42c 100644 --- a/frontend/src/component/FindWrite.js +++ b/frontend/src/component/FindWrite.js @@ -14,64 +14,64 @@ class FindWrite extends React.Component{ }; } - + render(){ - + return( <div> <Header/> - <div className="write-action"> - <h2>[ 찾아주세요 ] 게시글 작성</h2> - <h4>*게시물은 등록된 사용자만이 작성할 수 있습니다.*</h4> - <form method="POST" action="http://localhost:3002/Createfindboard"> + <div className="write-action"> + <h2>[ 찾아주세요 ] 게시글 작성</h2> + <h4>*게시물은 등록된 사용자만이 작성할 수 있습니다.*</h4> + <form method="POST" action="http://localhost:3002/Createfindboard"> + + + <input className="controllid" type="text" placeholder="아이디" name="userid" required/> + <input className="controllpwd" type="password" placeholder="비밀번호" name="userpsw" required/> + <p/> + + <p/> - <input className="controllid" type="text" placeholder="아이디" name="userid" required/> - <input className="controllpwd" type="password" placeholder="비밀번호" name="userpsw" required/> - <p/> + + <label className="title"><strong>제목</strong></label> + <p/> + <input type="text" placeholder="제목" name="title" required/> + <p/> - <p/> + <h4>장소</h4> + <p/> + <input placeholder="장소" type="text" name="place"></input> + <p/> + <h4>이미지</h4> + <p/> - <label className="title"><strong>제목</strong></label> - <p/> + <input type="file" name="imgfile"></input> + <p/> - <input type="text" placeholder="제목" name="title" required/> - <p/> + <label className="content"><strong>내용</strong></label> + <p/> - <h4>장소</h4> - <p/> + <textarea className="txtarea" name="content" placeholder="내용을 입력하세요."></textarea> + <p/> - <input placeholder="장소" type="text" name="place"></input> - <p/> - <h4>이미지</h4> - <p/> + <input type="submit" value="글쓰기"></input> + - <input type="file" name="imgfile"></input> - <p/> - <label className="content"><strong>내용</strong></label> - <p/> - <textarea className="txtarea" name="content" placeholder="내용을 입력하세요."></textarea> + </form> <p/> - <input type="submit" value="글쓰기"></input> - - - - - </form> - <p/> - - </div> + </div> <Footer/> </div> ) } - + } diff --git a/frontend/src/component/FreeBoard.js b/frontend/src/component/FreeBoard.js index 6610d314fafdc8bd85c978ca58de58f2291eb7c1..7d7a7cb368b639638f2419256e63be627ecf7788 100644 --- a/frontend/src/component/FreeBoard.js +++ b/frontend/src/component/FreeBoard.js @@ -16,49 +16,49 @@ class FreeBoard extends React.Component{ boards:[], }; } - - + + loadingData=async()=>{ try{ const response = await axios.get('http://localhost:3002/Readboard'); - console.log("hi"); + this.setState({ boards:response.data, }); - - + + }catch(e){ console.log(e); } }; componentDidMount() { - const { loadingData } = this; - loadingData(); - //loadingData(); - + const { loadingData } = this; + loadingData(); + //loadingData(); + } render(){ - console.log("hihi") + const{boards}=this.state; console.log(boards.map(i=>i._id)); var cnt=0; - - - - + + + + return( <div> <Header /> - + { <div className="freeboard"> - + <h1 className="freebd">자유게시판</h1> <div className="boarwritebtn"> - <a className="btn2" href="./write">글쓰기</a> - </div> + <a className="btn2" href="./write">글쓰기</a> + </div> <table className="freeboard-list"> <thead> <tr className="headtt"> @@ -68,34 +68,34 @@ class FreeBoard extends React.Component{ </tr> </thead> - + <tbody className="ttbody"> {boards.map((i)=> - + <tr className="bodytr" > <td className="td1" key={i._id}>{cnt++}</td> <td className="td2" key={i._id}><Link className="link" to={`/boardcontent${i._id}`}>{i.boardtitle}</Link></td> - + <td className="td3" key={i._id}>{i.boarduserid}</td> - + </tr> - - + + )} - + </tbody> - - + + </table> - + </div> - - + + } <Footer /> </div> diff --git a/frontend/src/component/Main.js b/frontend/src/component/Main.js index 5a810349e50c2dc55e9c37656227013877426a2b..73fb905b4bda326a5c4c2111e9e11aaf08ec7294 100644 --- a/frontend/src/component/Main.js +++ b/frontend/src/component/Main.js @@ -24,7 +24,7 @@ class Main extends React.Component{ ) } - + } diff --git a/frontend/src/component/Protect.js b/frontend/src/component/Protect.js index 486505dc6094996539d5865784c871dc72b5544d..27ff42c8eb71db84d6627f456fc747c624b69baf 100644 --- a/frontend/src/component/Protect.js +++ b/frontend/src/component/Protect.js @@ -13,8 +13,8 @@ class Protect extends React.Component{ protectboards:[], }; } - - + + loadingData=async()=>{ try{ const response = await axios.get('http://localhost:3002/Readprotectboard'); @@ -22,45 +22,45 @@ class Protect extends React.Component{ this.setState({ protectboards:response.data, }); - - + + }catch(e){ console.log(e); } }; componentDidMount() { - const { loadingData } = this; - loadingData(); - //loadingData(); - + const { loadingData } = this; + loadingData(); + //loadingData(); + } render(){ const{protectboards}=this.state; console.log(protectboards.map(i=>i._id)); - - + + return( <div> <Header /> - + { <div className="protectmaster"> - + <h1 className="h1protect">보호중이에요</h1> <div className="protectwrite"> - <a className="pwr" href="./protectwrite">게시물작성</a> + <a className="pwr" href="./protectwrite">게시물작성</a> </div> <div className="protect-list"> - + {protectboards.map((i)=> - - - + + + <div className="list"> <Link className="protectlink" to={`/protectcontent${i._id}`}> - + <img width="200px" key={i._id} src={"/images/"+i.protectboardimg}></img> <div className="pla" key={i._id}>{i.protectboardplace}</div> <div key={i._id}>{i.protectboardtitle}</div> @@ -68,17 +68,17 @@ class Protect extends React.Component{ {console.log("../image/"+i.protectboardimg)} </Link> </div> - - - + + + )} - + </div> - + </div> - + } <Footer /> </div> diff --git a/frontend/src/component/ProtectCommentDel.js b/frontend/src/component/ProtectCommentDel.js index 3717863ec43351967c6c726086466c791fb9794a..64d62670c00f565e4905fe67ca93e63db206bcff 100644 --- a/frontend/src/component/ProtectCommentDel.js +++ b/frontend/src/component/ProtectCommentDel.js @@ -19,7 +19,7 @@ class ProtectCommentDel extends React.Component{ const response2 = await axios.get('http://localhost:3002/Readprotectcomment'); console.log("loadingcommentdata"); - + this.setState({ commentdata:response2.data, }); @@ -28,11 +28,11 @@ class ProtectCommentDel extends React.Component{ } }; - + componentDidMount() { - const { loadingData } = this; - loadingData(); + const { loadingData } = this; + loadingData(); } render(){ @@ -40,15 +40,13 @@ class ProtectCommentDel extends React.Component{ let end = window.location.pathname.indexOf('&',start+1); let cmid = window.location.pathname.substring(start+1,end); - console.log("cmid==="+cmid); - console.log(start,end); + let comid = window.location.pathname.replace(cmid,""); let comid2 = comid.replace("/delprotectcm",""); let comid3=comid2.replace("*&",""); - - console.log("comid==="+comid3); - //console.log("id이지롱"+boardCmId); + + const {commentdata}=this.state; console.log(commentdata.map(n=>n.commentId)); @@ -61,7 +59,7 @@ class ProtectCommentDel extends React.Component{ {if(i._id===cmid){ return( <div className="all"> - + <h4 className="user">작성자</h4> <p/> <span key={i._id}>{i.commentUserid} </span> @@ -69,16 +67,16 @@ class ProtectCommentDel extends React.Component{ <h4 className="cocontent">댓글내용</h4> <p/> <span key={i._id}>{i.commentContent} </span> - + <p/> - + <form method="POST" action="http://localhost:3002/Deleteprotectcomment"> - + <input className="controllid" type="text" name="delcmid"></input> <input className="controllpwd" type="password" name="delcmpwd"></input> <input type="hidden" value={i._id} name="delfindcm"></input> - + <p/> <input type="hidden" value={i.commentId} name="interid"/> <input type="hidden" value={i.commentUserid} name="cmdbuserid"/> diff --git a/frontend/src/component/ProtectContent.js b/frontend/src/component/ProtectContent.js index 6896d9508411fc502a0dec561203f1f9e521a011..24d3df379e968b0d78161408333d76cb83f6fc2c 100644 --- a/frontend/src/component/ProtectContent.js +++ b/frontend/src/component/ProtectContent.js @@ -23,7 +23,7 @@ class ProtectContent extends React.Component{ const response2 = await axios.get('http://localhost:3002/Readprotectcomment'); console.log("loadingcommentdata"); - + this.setState({ contentprotectboards:response.data, protectcommentdata:response2.data, @@ -33,22 +33,22 @@ class ProtectContent extends React.Component{ } }; - + componentDidMount() { - const { loadingData } = this; - loadingData(); - //loadingData(); + const { loadingData } = this; + loadingData(); + //loadingData(); } render(){ let protectboardId = window.location.pathname.replace("/protectcontent",""); - console.log("id이지롱"+protectboardId); + const{contentprotectboards}=this.state; const {protectcommentdata}=this.state; console.log(contentprotectboards.map(i=>i.protectboardtitle)); - // console.log(protectcommentdata.map(n=>n.commentId)); - + // console.log(protectcommentdata.map(n=>n.commentId)); + return( <div> @@ -56,9 +56,9 @@ class ProtectContent extends React.Component{ <div className="boardcontent"> <div className="pboard"> {contentprotectboards.map(i=> - + {if(i._id===protectboardId){ - + return( <div className="protectboardcontent"> <h4 className="protectboardtitle">제목</h4> @@ -80,21 +80,21 @@ class ProtectContent extends React.Component{ <h4 className="protectboardcontent2">내용</h4> <p/> <div key={i._id}>{i.protectboardcontent}</div> - - + + <p/> <div className="protectbtn"><Link className="edibtn" to={`/protecteditadmin${i._id}`}>수정</Link><Link className="delbtn" to={`/protectdeladmin${i._id}`}>삭제</Link></div> - + </div> - ) + ) }} - - )} + + )} </div> - - + + <p/> <div className="h4com">댓글</div> <div className="comminput"> @@ -112,32 +112,32 @@ class ProtectContent extends React.Component{ </form>} </div> - + <h4 className="comlist">댓글 리스트</h4> <div className="comli"> {protectcommentdata.map(m=> {if(m.commentId===protectboardId){ - return( - <div className="comlog"> - <div key={m._id}>{m.commentContent} {m.commentUserid} <Link className="commdel" to={`/delprotectcm${m.commentId}*${m._id}&`}> 댓글 삭제</Link></div> - </div> - - - + return( + <div className="comlog"> + <div key={m._id}>{m.commentContent} {m.commentUserid} <Link className="commdel" to={`/delprotectcm${m.commentId}*${m._id}&`}> 댓글 삭제</Link></div> + </div> + + - ) + + ) + + } } - - } - + )} </div> - - + + </div> <Footer /> </div> diff --git a/frontend/src/component/ProtectDelAdmin.js b/frontend/src/component/ProtectDelAdmin.js index bfca6fe24d2ef2cd67fc12d0e434c364ed406c9a..4757a6b92a02e836b68804b85c9be0ff9cf7f1cd 100644 --- a/frontend/src/component/ProtectDelAdmin.js +++ b/frontend/src/component/ProtectDelAdmin.js @@ -15,7 +15,7 @@ class ProtectDelAdmin extends React.Component{ loadingData=async()=>{ try{ const response = await axios.get('http://localhost:3002/Readprotectboard'); - console.log("hi"); + this.setState({ adminboards:response.data, }); @@ -24,9 +24,9 @@ class ProtectDelAdmin extends React.Component{ } }; componentDidMount() { - const { loadingData } = this; - //loadingData(); - loadingData(); + const { loadingData } = this; + //loadingData(); + loadingData(); } render(){ let boardAdminId = window.location.pathname.replace("/protectdeladmin",""); @@ -40,34 +40,34 @@ class ProtectDelAdmin extends React.Component{ {if(i._id===boardAdminId){ return( <div className="con"> - <h4 className="user">작성자</h4> - - <span key={i._id}>{i.protectboarduserid}</span> - <p/> + <h4 className="user">작성자</h4> + + <span key={i._id}>{i.protectboarduserid}</span> + <p/> <h4 className="titlename">제목</h4> - + <span key={i._id}>{i.protectboardtitle}</span> <p/> <h4 className="fcontentplace">장소</h4> - + <span key={i._id}>{i.protectboardplace}</span> <p/> <h4 className="fcontentimg">이미지</h4> - + <img width="200px" key={i._id} src={"/images/"+i.protectboardimg}></img> <p/> <h4 className="contentname">내용</h4> - + <span key={i._id}>{i.protectboardcontent}</span> - - + + <p/> <form method="POST" action="http://localhost:3002/Deleteprotectboard"> <input className="controllid" type="text" name="adminid"></input> <input className="controllpwd" type="password" name="adminpwd"></input> <input type="hidden" value={i._id} name="delid"></input> - + <input type="hidden" value={i.protectboarduserid} name="bduserid"/> <input type="hidden" value={i.protectboarduserpsw} name="bdpwd"></input> <button type="submit">삭제하기</button> diff --git a/frontend/src/component/ProtectEditAdmin.js b/frontend/src/component/ProtectEditAdmin.js index eadf48e1e05c1bf9a866271a13a4e11edfd79d6a..740d8337613e5bec33207f2c12df7dbd03a42fb5 100644 --- a/frontend/src/component/ProtectEditAdmin.js +++ b/frontend/src/component/ProtectEditAdmin.js @@ -15,7 +15,7 @@ class ProtectEditAdmin extends React.Component{ loadingData=async()=>{ try{ const response = await axios.get('http://localhost:3002/Readprotectboard'); - console.log("hi"); + this.setState({ editfindboards:response.data, }); @@ -24,9 +24,9 @@ class ProtectEditAdmin extends React.Component{ } }; componentDidMount() { - const { loadingData } = this; - loadingData(); - //loadingData(); + const { loadingData } = this; + loadingData(); + //loadingData(); } render(){ let protectboardEditId = window.location.pathname.replace("/protecteditadmin",""); @@ -39,7 +39,7 @@ class ProtectEditAdmin extends React.Component{ <Header /> <div> {editfindboards.map(i=> - + {if(i._id===protectboardEditId){ return( <div className="all"> @@ -47,10 +47,10 @@ class ProtectEditAdmin extends React.Component{ <p/> <span key={i._id}>{i.protectboarduserid}</span> <form method="POST" action="http://localhost:3002/Editprotectboard"> - + <input className="controllid" type="text" name="editid"></input> <input className="controllpwd" type="password" name="editpwd"></input> - + <input type="hidden" value={i._id} name="edid"></input> <h4 className="titlename">제목</h4> <p/> @@ -67,8 +67,8 @@ class ProtectEditAdmin extends React.Component{ <p/> <textarea className="txtarea" type="text" placeholder={i.protectboardcontent} name="editcontent"/> <p/> - - + + <p/> <input type="hidden" value={i.protectboardtitle} name="beforetitle"/> <input type="hidden" value={i.protectboardcontent} name="beforecontent"/> diff --git a/frontend/src/component/ProtectWrite.js b/frontend/src/component/ProtectWrite.js index d8fe12fc2eca27aa31cc10f3efc8daa5402d7ead..81b4a41e273e7b73afe3ac0dedf2b317806ef397 100644 --- a/frontend/src/component/ProtectWrite.js +++ b/frontend/src/component/ProtectWrite.js @@ -14,48 +14,48 @@ class ProtectWrite extends React.Component{ }; } - + render(){ - + return( <div> <Header/> - <div className="write-action"> - <h2>[ 보호중이에요 ] 게시글 작성</h2> - <h4>*게시물은 등록된 사용자만이 작성할 수 있습니다.*</h4> - <form method="POST" action="http://localhost:3002/Createprotectboard"> - - <input className="controllid" type="text" placeholder="아이디" name="userid" required/> - <input className="controllpwd" type="password" placeholder="비밀번호" name="userpsw" required/> - <p/> - <label className="title"><strong>제목</strong></label> - <p/> - <input type="text" placeholder="제목" name="title" required/> - <p/> - <h4>장소</h4> - <p/> - <input type="text" placeholder="장소" name="place"></input> - <p/> - <h4>이미지</h4> - <p/> - <input type="file" name="imgfile"></input> - <p/> - <label className="content"><strong>내용</strong></label> - <p/> - <textarea className="txtarea" name="content" placeholder="내용을 입력하세요."></textarea> - - <p/> - <input type="submit" value="글쓰기"></input> - - </form> - <p/> - </div> + <div className="write-action"> + <h2>[ 보호중이에요 ] 게시글 작성</h2> + <h4>*게시물은 등록된 사용자만이 작성할 수 있습니다.*</h4> + <form method="POST" action="http://localhost:3002/Createprotectboard"> + + <input className="controllid" type="text" placeholder="아이디" name="userid" required/> + <input className="controllpwd" type="password" placeholder="비밀번호" name="userpsw" required/> + <p/> + <label className="title"><strong>제목</strong></label> + <p/> + <input type="text" placeholder="제목" name="title" required/> + <p/> + <h4>장소</h4> + <p/> + <input type="text" placeholder="장소" name="place"></input> + <p/> + <h4>이미지</h4> + <p/> + <input type="file" name="imgfile"></input> + <p/> + <label className="content"><strong>내용</strong></label> + <p/> + <textarea className="txtarea" name="content" placeholder="내용을 입력하세요."></textarea> + + <p/> + <input type="submit" value="글쓰기"></input> + + </form> + <p/> + </div> <Footer/> </div> ) } - + } diff --git a/frontend/src/component/Signin.js b/frontend/src/component/Signin.js index 1112387d54d009e1dd7901434993b6025628dc4a..8261c83b71de70304906e8161b2bfad39d97f173 100644 --- a/frontend/src/component/Signin.js +++ b/frontend/src/component/Signin.js @@ -10,7 +10,7 @@ class Signin extends React.Component{ constructor(props){ super(props); this.state={ - + }; } @@ -18,26 +18,26 @@ class Signin extends React.Component{ return( <div> <Header /> - + { <div className="signinmaster"> - <h1>로그인</h1> - - <form method="POST" action="http://localhost:3002/Signin"> - - <h4>아이디</h4> - <input name="signinID" type="text"></input> - <p/> - <h4>비밀번호</h4> - <input name="signinPWD" type="password"></input> - <p/> - <input type="submit" value="로그인"></input> + <h1>로그인</h1> - - </form> + <form method="POST" action="http://localhost:3002/Signin"> + + <h4>아이디</h4> + <input name="signinID" type="text"></input> + <p/> + <h4>비밀번호</h4> + <input name="signinPWD" type="password"></input> <p/> + <input type="submit" value="로그인"></input> + - </div> + </form> + <p/> + + </div> } <Footer /> </div> diff --git a/frontend/src/component/Signup.js b/frontend/src/component/Signup.js index 973c53a40fc92cc255a971bab515aed277d07bb6..03abb1d9cf4b86eccca68e9666b7f12ea1e587a8 100644 --- a/frontend/src/component/Signup.js +++ b/frontend/src/component/Signup.js @@ -12,46 +12,46 @@ class Signup extends React.Component{ usernickname:"", userid:"", userpassword:"" - + }; } - + render(){ + - - + return( <div> <Header /> <div className="divsignup"> - <h1>회원가입</h1> - - - <form method="POST" action="http://localhost:3002/Signup"> - - <h4>아이디</h4> - <p/> - <input className="userid" name="userid" type="text"></input> - <p/> - <h4>비밀번호</h4> - <p/> - <input className="userpassword" name="userpassword" type="password"></input> - <p/> - <input type="submit" value="회원가입"></input> + <h1>회원가입</h1> - </form> - <p/> - - </div> - + <form method="POST" action="http://localhost:3002/Signup"> + + <h4>아이디</h4> + <p/> + <input className="userid" name="userid" type="text"></input> + <p/> + <h4>비밀번호</h4> + <p/> + <input className="userpassword" name="userpassword" type="password"></input> + <p/> + <input type="submit" value="회원가입"></input> + </form> + <p/> + + </div> + + + <Footer /> </div> ) diff --git a/frontend/src/component/Write.js b/frontend/src/component/Write.js index 040dfe7cd9e8d21fe1a0361dac98a4ece7169ef9..bc889d1f06f356609733bba01332c3a169ba1bae 100644 --- a/frontend/src/component/Write.js +++ b/frontend/src/component/Write.js @@ -16,48 +16,48 @@ class Write extends React.Component{ }; } - + render(){ - + return( <div> <Header/> - <div className="write-action"> - <h2>게시글 작성</h2> - <h4>*게시물은 등록된 사용자만이 작성할 수 있습니다.*</h4> - <form method="POST" action="http://localhost:3002/Createboard"> - - <input className="controllid" type="text" placeholder="아이디" name="userid" required/> - <p/> - - <input className="controllpwd" type="password" placeholder="비밀번호" name="userpsw" required/> - <p/> + <div className="write-action"> + <h2>게시글 작성</h2> + <h4>*게시물은 등록된 사용자만이 작성할 수 있습니다.*</h4> + <form method="POST" action="http://localhost:3002/Createboard"> + + <input className="controllid" type="text" placeholder="아이디" name="userid" required/> + <p/> - <label className="title"><strong>제목</strong></label> - <p/> - <input type="text" placeholder="제목" name="title" required/> - <p/> + <input className="controllpwd" type="password" placeholder="비밀번호" name="userpsw" required/> + <p/> - <label className="content"><strong>내용</strong></label> - <p/> - <textarea className="txtarea" name="content" placeholder="내용을 입력하세요."></textarea> - <p/> + <label className="title"><strong>제목</strong></label> + <p/> + <input type="text" placeholder="제목" name="title" required/> + <p/> - <input type="submit" value="글쓰기"></input> + <label className="content"><strong>내용</strong></label> + <p/> + <textarea className="txtarea" name="content" placeholder="내용을 입력하세요."></textarea> + <p/> + <input type="submit" value="글쓰기"></input> + - </form> - <p/> + </form> + <p/> - </div> + </div> <Footer/> </div> ) } - + }