목록hacking study/웹개발 (15)
wonder

☞ 개요: 아이디어 구상 다운로드 기능에 대해 검색을 해보니까 너무 복잡하고 어렵게 나와서 스스로의 힘으로 구현 하려고 했습니다. 최대한 간단하지만 기능은 작동하도록 하는 것이 충분히 가능했습니다. 저번시간에 파일 업로드까지 구현했습니다. view페이지에서 업로드한 파일을 보기위해서는 글 번호에 대한 파일을 불러와야하기 때문에 DB에 연결해주는 작업이 필요합니다. DB에 '파일이름' 열을 추가해줍니다. ☞ 파일 업로드 할 때 쿼리문 (writepost.php) 만약 파일을 올리지않고 그냥 글을 썻을 때는 보통처럼 글을 업로드합니다. 파일이 있을 경우에는 파일을 upload/파일명으로 디렉토리에 넣고 해당 파일명을 DB의 '파일이름'에 넣습니다. ☞ view페이지 파일명 노출 그다음 view 페이지에서 글..

☞ 옵션별 검색기능 구현 옵션은 제목,작성자,내용 3개로만들고 검색할 수 있도록합니다. 현재페이지로 보내서 GET방식으로 받아오게 합니다. 검색값과 옵션값을 GET방식으로 받아와주고요. 만약 옵션값이 없다면 기본값은 제목입니다. 만약 검색값이 있다면 (제목/작성자/내용)에 검색어가 포함될 때의 데이터를 모두 불러옵니다. 옵션 기본값이기 때문에 제목에 검색어가 포함될 때와 같습니다. 데이터에서 총 글 갯수를 구합니다. 추후에 페이징기능 계산을 하기위해서 미리 구해둡니다. 만약 검색값이 없다면 조건문을 실행하지않고 넘어가서 총 글 갯수는 전체데이터 수가 됩니다. 잘 작동합니다. ☞ 파일 업로드기능 구현 글작성 쿼리페이지로 다른 내용들과 같이 파일을 넘깁니다. 중요한 것은 POST 방식과 enctype를 써줘..

세션명을 아이디로 지정하였고, 세션이 있는 사람의 현재 아이디를 가지고 DB의 비밀번호를 검색해서 DB의 비밀번호가 입력한 비밀번호와 맞다면 글 등록이 됩니다. 여기서 유의할 점은 세션이 그전 폴더에서 생성되었으면, 그전의 연결폴더(../lib.php)를 include해야된다는 점입니다. 글수정이나 글삭제같은 경우에도 글작성할 때 등록된 비밀번호를 가지고 인증하기 때문에 잘 작동합니다.

게시판 제작 로그인을 하면 메인화면으로 이동하고, 게시판으로 이동하게 만든 모습입니다. 로그인 세션이 없다면 게시판 글을 볼 수 없습니다. 메인 게시판 제작 기본적으로 이렇게 테이블로 감싸줘서 리스팅을 합니다. 30글 중에 10개의 글만 최신순으로 나오도록 설정합니다. 작성일자는 작성한 시간을 빼고 연도,월,일 까지만 뽑아냅니다. 페이지번호는 주소 검색 기능과 같은 방법으로 제작합니다. 처음으로/마지막으로 이동하는 아이콘만 추가합니다. 웹폰트 노토산스를 가져왔고, 아이콘도 cdn으로 웹에서 가져옵니다. 링크에 마우스를 올렸을 때 빨간색이 됩니다. 글 쓰기 제작 글을 작성하고, 글 작성 쿼리 페이지로 이동합니다. 글 보기 제작 제목을 클릭하면 글 번호로 가져오기 때문에 글번호가 맞다면 정보를 불러옵니다. ..

기존에 있던 기능에 부트스트랩을 이용해 로그인 페이지 디자인을 입혔습니다. 또한 기능에 대한 세부적인 디테일을 수정했습니다. 주소 직접 입력 제한 주소를 검색해서 입력해야하는데 고의로 직접 입력할 수 있어서, 입력기능을 차단하기 위해서 입력값 제한을 0으로 하였습니다. 주소 폼을 클릭하기만 해도 자바스크립트 함수로 연결되서 창이 열리게 했습니다. 지난 번에 구현한 리스팅기능을 주소 검색 결과에 추가했습니다. 테이블로 감싸서 결과를 불러왔습니다. 리스팅 기능이 잘 작동하는 것을 볼 수 있습니다. 기존 페이지에 주소 전달 새창으로 검색한 주소를 사용하기 위해서 주소를 원래 페이지에 전달 해야합니다. 사용하기를 누르면 자바스크립트 use함수가 실행됩니다. 원래 페이지를 부모 변수로 지정했습니다. 원래 페이지의..

이런식으로 글 내용이 너무 많이 나와버리면 안되기 때문에 필수인 작업이 페이징 기능 구축입니다. 너무 당연해서 쉬워보였지만 그 안의 구조는 생각보다 까다롭습니다. 노출할 칼럼 수 제한 전체 칼럼 수 확인 일단 전체 칼럼이 몇개인지 출력합니다. 현재 주소가 담긴 DB에서 세종특별시 테이블의 칼럼수는 27389개입니다. 한 페이지에 10개의 글이 나올 것으로 지정했습니다. 그리고 현재 페이지 번호가 없다면 페이지 번호를 1로 바로 만들어 줍니다. 그리고 Sql 에서도 데이터 모두 불러오는 게 아니라 10개의 데이터만 불러와줘야하기 때문에 저렇게 제한을 둡니다. 현재 페이지가 2번이라면 10번부터 20번까지 10개의 열을 불러오라는 게 됩니다. 여기서 query는 중복이 아니라 재정의 됩니다. 그리고 반복문으..