2019.05.12 수정
이전 게시판을 익명 게시판에서 회원제 게시판으로 바꿔 봤습니다. 이제부터 글은 로그인 한 상태에서 가능합니다.
또 게시물 수정 기능을 추가했습니다. 추후 추가할 기능은 삭제, 댓글 기능들 입니다.
( 2019.03 현재 코드를 실행했던 서버가 닫혀서 추후 기능은 언제 추가할지 모르겠습니다. )
우선 write.php 부분을 약간 변경했습니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | <?php session_start(); $URL = "./index.php"; if(!isset($_SESSION['userid'])) { ?> <script> alert("로그인이 필요합니다"); location.replace("<?php echo $URL?>"); </script> <?php } ?> <form method = "get" action = "write_action.php"> <table style="padding-top:50px" align = center width=700 border=0 cellpadding=2 > <tr> <td height=20 align= center bgcolor=#ccc><font color=white> 글쓰기</font></td> </tr> <tr> <td bgcolor=white> <table class = "table2"> <tr> <td>작성자</td> <td><input type="hidden" name="name" value="<?=$_SESSION['userid']?>"><?=$_SESSION['userid']?></td> </tr> <tr> <td>제목</td> <td><input type = text name = title size=60></td> </tr> <tr> <td>내용</td> <td><textarea name = content cols=85 rows=15></textarea></td> </tr> </table> <center> <input type = "submit" value="작성"> </center> </td> </tr> </table> </form> | cs |
이전에는 세션 검사가 없었지만 회원제 게시판으로 만들면서 세션이 있어야만 글 작성이 가능하도록 만들었습니다. 세션이 없다면, 메인 화면으로 돌아갑니다.
세션 없이 로그인 했을 때 화면입니다.
로그인을 한 후 결과 화면입니다.
수정하기 >>>>>>
글 수정 코드 입니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 | <?php $connect = mysqli_connect("localhost", , , ) or die("connect fail"); $id = $_GET[id]; $number = $_GET[number]; $query = "select title, content, date, id from board where number=$number"; $result = $connect->query($query); $rows = mysqli_fetch_assoc($result); $title = $rows['title']; $content = $rows['content']; $usrid = $rows['id']; session_start(); $URL = "./index.php"; if(!isset($_SESSION['userid'])) { ?> <script> alert("권한이 없습니다."); location.replace("<?php echo $URL?>"); </script> <?php } else if($_SESSION['userid']==$usrid) { ?> <form method = "get" action = "modify_action.php"> <table style="padding-top:50px" align = center width=700 border=0 cellpadding=2 > <tr> <td height=20 align= center bgcolor=#ccc><font color=white> 글수정</font></td> </tr> <tr> <td bgcolor=white> <table class = "table2"> <tr> <td>작성자</td> <td><input type="hidden" name="id" value="<?=$_SESSION['userid']?>"><?=$_SESSION['userid']?></td> </tr> <tr> <td>제목</td> <td><input type = text name = title size=60 value="<?=$title?>"></td> </tr> <tr> <td>내용</td> <td><textarea name = content cols=85 rows=15><?=$content?></textarea></td> </tr> </table> <center> <input type="hidden" name="number" value="<?=$number?>"> <input type = "submit" value="작성"> </center> </td> </tr> </table> <?php } else { ?> <script> alert("권한이 없습니다."); location.replace("<?php echo $URL?>"); </script> <?php } ?> | cs |
수정하기 버튼을 눌렀을 때 받아온 id와 게시판 번호로 게시물을 조회합니다.
조회한 게시물의 아이디와 현재 세션 아이디와 같다면 수정할 수 있습니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | <?php $connect = mysqli_connect("localhost", "아이디", "비밀번호", "DB이름") or die ("connect fail"); $number = $_GET[number]; $title = $_GET[title]; $content = $_GET[content]; $date = date('Y-m-d H:i:s'); $query = "update board set title='$title', content='$content', date='$date' where number=$number"; $result = $connect->query($query); if($result) { ?> <script> alert("수정되었습니다."); location.replace("./view?number=<?=$number?>"); </script> <?php } else { echo "fail"; } ?> | cs |
수정버튼을 눌렀을 때 결과 화면 ( 세션과 아이디가 동일 시 )
내용을 수정하고 작성 버튼을 누르면
수정되었다고 alert창이 뜹니다.
수정이 잘 됬다는 걸 볼 수 있습니다.
그리고 이전에 조회수를 만든다고 했던걸 깜빡해서... 조회수 증가 기능도 추가했습니다.
/*조회수 코드*/
$hit = "update board set hit=hit+1 where number=$number";
$connect->query($hit);
'Web > php 게시판 만들기' 카테고리의 다른 글
[ php / mysql ]게시판 만들기 (회원가입, 로그인) (17) | 2018.07.29 |
---|---|
[ php / mysql ] 게시판 만들기 (view) (26) | 2018.07.28 |
[ php / mysql ] 게시판 만들기 (작성, 저장) (21) | 2018.07.28 |
[ php / mysql ] 게시판 만들기 (목차) (7) | 2018.07.28 |
[php / mysql ] 게시판 만들기(DB 설정) (15) | 2018.07.28 |