본문 바로가기

php36

18. 아차! 하고 빼먹은 로그아웃 구현하기 회원가입 받고 로그인 기능을 구현해봤습니다만, 로그아웃 기능을 빼먹었네요..ㅋ 로그아웃은 세션에서 관련 정보를 지우는 것으로 구현가능합니다. header.php 에 아래 내용을 작성합시다. 2012. 12. 17.
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.
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.
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.
[PHP] session_start(), $_SESSION[] 수퍼 글로벌 변수 $_SESSION[] 을 사용하는 방법입니다. $_SESSION[] 변수를 사용하기 전에 다음 함수를 반드시 실행시켜야합니다. bool session_start ( void ) 그래야, 이후, $_SESSION[] 을 자유롭게 이용할 수 있습니다. $_SESSION[] 는 배열이니까, 첨자를 이용해서 많은 정보를 다룰 수 있습니다. $_SESSION['user_id'] = 'member1'; 세션에 저장되어 있는 값을 지우고 싶을 때는 아래와 같이 unset() 함수를 이용할 수 있습니다. unset( $_SESSION['user_id'] ); unset()은 세션 변수뿐아니라 다른 변수에도 모두 사용가능합니다. 노파심에...ㅎㅎ 그리고, 세션에 저장된 정보를 삭제하는 방법은 아래 몇가.. 2012. 12. 13.