본문 바로가기

웹 개발

[5주차] 게시판 구현 #2 - 게시글 읽기, 게시글 쓰기

게시판 글쓰기

 

간단히 글 작성폼을 만들어

테스트용 글을 만들어 작성을 눌러보았다.

 

 

쿼리문이 제대로 전달되지 않아 DB로 안가면 에러처리가 되게 해놨는데,

 

글쓰기 완료라고 떴으므로 DB에 잘 저장이 되었다.

 

실제로 SQL을 켜서 확인해봐도 글이 잘 추가되었다.

 

근데 게시판에서 새로고침을 아무리 눌러도 확인이 안됨....

 

 

기존에 글 작성이 아니라 DB에 강제로 때려넣었던 1번 게시글만 확인이 된다.

 

일단 문제가 뭘까 싶어 DB를 보니 분명히 세션 아이디를 쿼리문에 넣게 코드를 짰는데

name이 전혀 추가가 안되고 있다.

 

 

혹시 SESSION 아이디가 안먹히나 싶어 메인 페이지에 썼던 session 아이디 확인을 해봤는데 잘되고 있었다.

 

 

혹시나 게시판 페이지에서 session이 안먹나 싶어

출력해보았지만 잘 출력된다. 뭐가 문제일까?

 

알고보니 게시판을 구성하는 noticeboard.php 에서 시험삼아 테스트한다고

반복문을 안돌려놨다는 걸 깨달았다..! (바보)

 

table 태그 위쪽에 php 코드로 } 대괄호 하나 추가해주니

 

깔끔하게 잘 뜨는 것을 확인할 수 있다.

 

 

 

오늘의 교훈 괄호 위치, 카운트 잘하자

 

 

게시판 읽기

미리 만들어두었던 a 태그의 href 속성에 read.php로 갈 수 있는 주소를 추가할 것이다.

근데 그 주소는 고정된 값이 아닌 클릭한 게시글의 number를 포함해야 한다.

그래서 해당 number를 get 방식으로 read.php에게 보내는 방식을 선택하고,

./read.php?number=<?php echo $board['number'];?>

이 코드를 href 속성에 대입한다. 그럼 7번 게시글을 클릭하면 number=7이 전달되고 8번 게시글을 클릭하면 number=8이 전달될 것이다.

 

 

 

그리고 read.php 파일을 생성한다.

이 파일은 GET 방식으로 noticeboard.php에서 보낸 number값을 받아서 $bno 로 저장한다.

 

<h2><?php echo $board['title']; ?></h2>
<br>
<div>작성자 : <?php echo $board['name']; ?></div>
<div><?php echo $board['date']; ?></div>
<div>조회수 : <?php echo $board['hit']; ?></div>
<br>
<div>내용 : <?php echo $board['content']; ?></div>
</body>
</html>

 

 

이제 클릭했을 때 조회수가 업데이트 되게 코드를 수정해야겠다.