본문 바로가기

공부/WEB개발 과제20

[12주차-1] 비회원 문의 게시판 개발 시험도 끝났으니 마저 개발을 진행할 것이다. 이번에 만들 것은 비회원 문의 게시판이다. 기존의 게시판은 로그인 상태에서 게시글을 읽고, 쓰고, 수정하고, 삭제를 했다. 하지만 비회원 문의 게시판은 비밀번호를 이용하여 게시판을 이용할 수 있게 만들었다. 먼저 비회원 문의 게시판 DB를 만들었다. 비회원 문의 게시판은 로그인 페이지에서 접근이 가능하다. 기존 게시판과 동일하게 읽기, 쓰기, 수정, 삭제, 검색, 페이징 기능을 구현했다. 다만 기존 게시판과는 다르게 게시글 작성 시 비밀번호를 요구하게 만들었다. 전체적인 진행과정이다. 전체 소스는 기존의 게시판을 만들 때 사용한 소스들을 가져왔다. 비밀번호 기능은 로그인 페이지를 만들어봤으면 쉽게 구현할 수 있을 것이다. 2023. 6. 19.
File Upload BLOB / CLOB 기존의 게시글에서는 간단한 파일 업로드 기능만 만들었다. 따라서 이번엔 BLOB와 CLOB를 구현해보려고 한다. CLOB / BLOB 데이터 유형과 그 크기는 필요에 따라 적절하게 사용하면 된다. https://dev.mysql.com/doc/refman/5.7/en/storage-requirements.html MySQL :: MySQL 5.7 Reference Manual :: 11.7 Data Type Storage Requirements 11.7 Data Type Storage Requirements The storage requirements for table data on disk depend on several factors. Different storage engines represent .. 2023. 6. 14.
[10주차-2] 마이페이지 개발 마이페이지를 만들고 내 정보를 확인하고 내 정보를 수정하는 기능을 만들 것이다. 기존의 페이지에서 수정된 페이지이다. 회원가입 시 입력한 정보를 볼 수 있고 비밀번호는 새로 입력을 받을 거다. 기존의 비밀번호를 사용하고 싶으면 기존의 비밀번호를 입력해도 괜찮다. 주소는 수정받을 수 있게 만들었다. 값을 전부 입력받으면 change_mypage.php에서 값들을 새로 업데이트해 준다. mypage에서 입력받은 값을 받아오고 수정을 진행한다. 수정되기 전의 상태이고 내용이 수정되면 세션이 로그아웃되면서 로그인페이지로 넘어가진다. 위의 사진처럼 진행이 되고 위의 내용처럼 회원정보가 수정되었다. 2023. 6. 4.
[10주차-1] 추천(좋아요) 기능 다른 사람의 게시글에 추천(좋아요) 기능을 넣어줄 것이다. 먼저 게시글 DB(topic)에 like_count라는 컬럼을 추가해 주고 게시글을 조회했을 때 해당 게시글의 작성자가 아니라면 추천기능을 넣을 것이다. 그리고 좋아요를 관리해 줄 like_management 테이블을 하나 생성했다. 좋아요를 누르면 게시글의 ID값과 누른 사람을 같이 추적해서 기록으로 남길 것이다. 먼저 read.php를 수정해 줬다. 좋아요의 개수가 보이고 본인이 쓴 글이 아니면 좋아요 버튼이랑 취소 버튼이 나온다. GET으로 게시글의 id값을 넘겨받았다. 다음은 like_inc의 소스코드이다. GET으로 게시글의 id값을 넘겨받으므로 URL을 수정해서 좋아요를 올릴 수도 있으므로 14 ~ 17줄로 그것을 방지하였다. 18 ~.. 2023. 6. 2.
[9주차-1] 게시글 날짜 지정 검색 게시판에 검색기능은 있었다. 이제는 작성일을 포함하여 검색하는 기능을 넣을 것이다. 검색기능에 날짜를 선택할 수 있게 추가하였고 board.php에서 입력한 날짜를 GET으로 받아오고 기존의 switch로 있던 것을 $option변수를 이용하여 코드를 간결하게 만들었다. 날짜를 입력 받으면 날짜를 기준으로 게시글을 가져오고 날짜를 입력 받지않으면 원래 코드처럼 게시글을 가져온다. 마찬가지로 수정을 해줬다. search.php도 날짜를 검색할 수 있게 추가시켜줬다. 2023. 5. 31.
[8주차-1] 파일 업로드 및 다운로드, 조회수 카운트 파일 업로드 및 다운로드 기능과 조회수 카운트기능을 구현할 거다. 먼저 topic 테이블에 컬럼을 추가해 줬다. 나는 게시글 하나에 파일이 1개씩 들어갈 수 있게 만들었다. 파일을 관리해 주는 테이블을 따로 만들고 게시글 id 값을 할당해 줘서 파일을 여러 개 올리는 방법도 있지만 여기선 게시글 하나에 1개씩 올라가게 설정했다. 파일을 업로드하려면 form에서 enctype="multipart/form-data"을 입력해줘야 한다. POST에서만 사용 가능하다.(GET에서는 사용 불가) process_writing.php를 수정했다 업로드를 수행하는 동안 $tmpfile로 임시로 저장을 하고 파일의 이름은 $f_name에 저장시킨다. iconv 함수를 이용하여 한글 인코딩이 깨지지 않도록 한다. 이미지를.. 2023. 5. 24.
[7주차-1] 게시글 페이징 기능 만들기 게시판도 만들었으니 이제 게시글 페이징 기능도 만들어볼 것이다. 페이징 기능이 없게 된다면 게시글이 많아졌을 때 스크롤해서 내려야 한다. 그래서 한 페이지에 10개씩 넣어서 페이징을 할 것이다. 먼저 게시글을 10개씩 묶어서 출력해 주는 작업이다. 기존에 있던 board.php를 수정했고 limit를 이용해서 10개씩 출력되게 변경하였다. GET을 이용하여 page값을 받아올 것이고(값이 없으면 1로 할당, 값이 있으면 그 값을 가져온다.) 한 페이지에 들어갈 게시글의 개수를 10개로 정해줬고 $start_topic_num으로 페이지마다 처음 나오는 게시글을 정해준다. $page값이 0,1,2... 이런 식으로 증가하면 1번, 11번, 21번... 이런 식으로 게시글 번호가 지정된다 limit는 1이 아.. 2023. 5. 15.
[6주차-4] CSS 적용시키기 2 아직 적용시키지 않은 게시글 읽기, 쓰기, 수정, 검색 기능에 CSS를 적용시켰다. 임의로 작성한 게시글을 읽었다. 게시글 수정 페이지다. 수정된 게시글이 10번에 있다. 새로운 게시글을 작성했다. 게시글 검색 페이지다. 간단한 페이지인데 CSS적용시키기가 너무 힘들었다. 간단한 틀을 잡아놓고 나머지 기능을 개발해야겠다. 2023. 5. 11.
[6주차-3] CSS 적용시키기 1 부트스트랩을 이용해서 CSS를 적용시켰다. 로그인과 회원가입 페이지다. 메인 페이지인데 아직 아무것도 없다. 게시판 페이지고 게시글 읽기, 게시글 쓰기, 게시글 수정에 대해서는 아직 CSS를 적용시키지 못했다. 내일 시간 나면 마저 적용시켜야겠다. 문의 게시판과 Mypage는 아직 미구현이라 들어간 내용이 없다. 웹개발을 하기 전에 CSS를 이용하여 기본틀은 잡아놓고 시작해야 할 거 같다. 기존에 있는 소스코드에 CSS를 적용시키려니 소스를 갈아엎고 수정할 것도 많고 되게 시간을 많이 사용했다. 기본틀을 잡아놓고 기능을 만들면 오히려 더 편할 거 같다는 생각이 많이 들었다. 처음에 부트스트랩을 사용하려다가 CSS파일 연결을 못해서 필요한 요소들만 찾아서 넣었다 그러다가 부트스트랩 css파일을 연결시키면서.. 2023. 5. 10.