본문 바로가기

전체 글164

17. php로 기초적인 게시판 만들기 - 글 삭제하기 Chap 17. view.php 에서 글을 삭제하는 버튼을 하나 만들어 주고 글 삭제를 해봅시다. 수정 버튼 다음에 아래처럼 삭제버튼을 추가합시다. 그리고, delete.php 를 만듭시다. 전달받은 doc_idx를 이용해서 DB에서 해당 데이터를 지워버리고 완료페이지를 표시하도록 합시다. 쿼리가 달라집니다. $q = "DELETE FROM ap_bbs WHERE doc_idx=$doc_idx"; $result = $mysqli->query($q); 전체 코드는 아래와 같습니다. delete_done.php 는 아래와 같습니다. delete_done.php - 게시판 글 삭제 완료 페이지 지금까지 가장 기초적인 게시판을 제작해봤습니다. 고려해야 할 부분들이 많이 빠져있습니다.각자 필요에 따라 하나하나 수.. 2012. 12. 17.
16. php로 기초적인 게시판 만들기 - 글 수정하기 Chap 16. 수정은 글 보기 와 매우 유사합니다. 우선 글 내용을 가져와서 화면에 뿌려주는데, Form 태그로 뿌려주어 수정할 수 있도록 하면 됩니다. view.php를 수정해야겠네요. 현재 사용자와 글을 작성자가 같을 경우, 아래 쪽에 수정으로 가는 링크를 달아줍시다. 그리고, modify.php 를 작성합시다. write.php 와 유사하니까, 그대로 가져오고, 입력하는 부분에 문서 내용을 초기 값으로 노출시키면 되겠습니다. 그리고, modify_check.php에게 현재 글번호를 전달하기 위해 doc_idx 를 hidden으로 전송합니다. 글수정하기 그리고, submit 버튼이 클릭되면 받아서 처리할 modify_check.php를 만들어 줍시다. modify_check.php 가 하는 일은 w.. 2012. 12. 17.
15. php로 기초적인 게시판 만들기 - 글 내용보기 Chap 15. 글목록에서 제목을 클릭하면, 글 내용을 보여주어야겠지요? 앞서 list.php에서 준비한 대로 view.php 가 그 기능을 수행해야합니다. 또 하나 만들어봅시다. 기본적으로 preset.php, header.php, footer.php 포함하도록 작성하고 content 부분에 작업을 시작합시다. $doc_idx 를 이용해서 DB로부터 값을 가져옵니다. $q = "SELECT * FROM ap_bbs WHERE doc_idx = $doc_idx"; $result = $mysqli->query($q); $data = $result->fetch_array(); 가져온 내용은 $data 에 배열로 들어있습니다. 각각의 값을 테이블 하나 만들어서 뿌려주면 되겠습니다. 제목 작성자 내용 쉽죠?아래.. 2012. 12. 17.
14. php로 기초적인 게시판 만들기 - 목록에 페이지 링크 추가하기 Chap 14. 리스트 화면의 아래 쪽에 각각의 페이지로 이동할 수 있는 링크를 만들어 보겠습니다. 페이지 표시하는 구간을 블럭이라고 이름하고, 현재 표시하고 있는 페이지를 포함하는 블럭 내의 페이지를 링크로 제공하도록 하겠습니다. 블럭은 10 개 단위로 끊겠습니다.1페이지~10페이지가 블럭 1, 11페이지~20페이지가 블럭 2..이런 식입니다. 현재 3페이지를 표시하고 있으면, 아래와 같이 표시한다는 말입니다. [1] [2] 3 [4] [5] [6] [7] [8] [9] [10] [다음] 현재 페이지가 속해 있는 블록 번호는 아래와 같이 구할 수 있습니다. $page_per_block = 10; $now_block = ceil($now_page / $page_per_block); 전체 게시물의 숫자와 .. 2012. 12. 17.
13. php로 기초적인 게시판 만들기 - list.php Chap. 13 이어서 목록 보여주기 위한 기능을 구현해 봅시다. http://mydomain.com/bbs/list.php 로 접근하면 글 목록을 보여줘야겠군요. 한번에 다 못 보여주면 페이지를 지정해줘야겠지요?GET 방식으로 아래와 같이 페이지를 지정할 수 있도록 합시다. http://mydomain.com/bbs/list.php?page=1 아래코드로 list.php 를 시작합시다. 목록 이렇게 시작합니다. $q = "SELECT * FROM ap_bbs"; $result = $mysqli->query( $q); $total_record = $result->num_rows; 우선 ap_bbs 에 글이 있는지 없는지 부터 확인을 합니다.$total_record 가 0이 아니면, 테이블을 이용해서 목록.. 2012. 12. 17.
12. php로 기초적인 게시판 만들기 -write.php Chap 12. 어제 작성해놓은게 다 날아가버렸네요. 그래서, 다시 작성합니다. www 디렉토리 아래에 bbs 라고 만들고 그 안에 관련 파일들을 작성하겠습니다. 그에 앞서, 이전에 작성했던 것 중에 몇가지 수정을 하겠습니다. 먼저 main.css header, footer 에 테두리를 빨간색에서 회색(#C1C1C1)으로 변경합니다. content 는 #0FF 로 변경합니다. 빨간색이 너무 강렬해서 ㅋㅋ 그리고, header.php css를 읽어오는 부분이 상대경로로 되어있으니, 범용 이용가능하게 수정을 합니다. 글쓰기 쉽죠? login.php 와 유사합니다. 각 항목값의 name 잘 봐두세요. 저값을 받아서 DB에 저장하게 됩니다. write_check.php 를 만듭시다. 2012. 12. 17.
11. 트위터 부트스트랩 이용해서 레이아웃 만들기 Chap 11. 진행하는 동안 보이는 페이지의 모습이 바뀔 순간이 왔습니다. 사이트 전체에 적용될 CSS 파일을 작성해서 적용을 할 수도 있겠습니다만, 많은 시간과 노력이 필요합니다. 그래서!! 잘 만들어져있는 CSS 파일을 이용하도록 하겠습니다. 트위터 개발자들이 만들어서 배포하고 있는 부트스트랩 이라는 CSS 프레임워크가 있습니다.아래 사이트에서 다운받을 수 있습니다. 오늘 현재 버전 2.2.2 가 나왔네요. http://twitter.github.com/bootstrap 악! 주소가 바뀌었는데, 수정을 못 하고 있었네요..부트스트랩 주소입니다. http://getbootstrap.com 다운받아서 압축을 해제하면 bootstrap 디렉토리아래에 css 디렉토리, img 디렉토리, js 디렉토리가 있.. 2012. 12. 14.
10. 화면에 표시되는 내용 구분하기 Chap 10. 앞에서는 눈에 보이지 않는 중복 코드들을 하나로 작성해 봤었습니다. 이번엔 브라우저의 화면에 표시되는 내용을 내용에 따라 구분해 봅시다. 대부분의 경우, 화면 상단에는 메뉴바를 포함해서 사이트 모든 페이지에서 나타나는 내용들이 위치하게 됩니다. 그렇지 않을 수도 있지만요..대개 그렇다구요.. 화면 하단에는 작은 메뉴 혹은 저작권 표시 등 전 페이지에 걸쳐 유사한 내용을 표시하곤 하지요. 그리고, 그 사이에는 페이지마다 달라지는 컨텐츠가 나타납니다. 왼쪽에 메뉴바가 있을 수도 있고, 오른쪽에 있을 수도 있고..그런 부분은 일단 컨텐츠 영역에 집어넣읍시다. 그러면... 위에서부터 헤더 영역, 컨텐츠 영역, 푸터 영역으로 이름을 붙이겠습니다. 아시다시피, BODY 태그 안의 내용들이 화면에 출.. 2012. 12. 13.
9. 중복 코드는 하나의 파일로 작성해서 포함시키기 Chap 9. 파일이 하나 둘 늘어가고 있습니다. 그러다 보니, 상단의 공통된 내용들이 보이네요. BODY 태그 안의 내용은 페이지에따라 달라지겠지만, DB관련 코드나, 세션 관련 코드들이 중복되네요. 이 내용들을 하나의 파일로 만들어두고, 각 페이지에서 include() 계열 함수를 이용해서 포함시키도록 하겠습니다. 함수 설명은 PHP 카테고리에서 찾을 수 있습니다. 어디서 어디까지를 잘라낼까요?일단 아래 정도 preset.php 로 만들어 둡시다. 모든 파일의 상단에 preset.php 를 포함하도록 코드를 작성해야겠네요. require_once( 'preset.php' ); ...라고 적어봤더니... 이런..파일 경로가 문제네요. 파일의 위치와는 무관하게 항상 preset.php 를 포함시킬 수 있.. 2012. 12. 13.