티스토리 뷰
설계도
1. 기능 설계
1). 회원가입 : register.php -> signup.php
(여기서 정보입력) (여기서 정보처리)
- 아이디, 패스워드, 이메일
- 중복된 아이디는 존재하지 않는다.
- 빈 입력값도 허용하지 않는다. 즉, 아이디 패스워드 이메일 모두 입력해야함
2). 메인 화면 : index.php
- 로그인 : signin.php
- 아이디, 패스워드 만 입력받아서 올바른 사용자면 세션만 만들어 줄수 있으면 된다.
- session: user_no, user_id, is_login=1 or 0
- 전체 게시물 목록 확인
: 로그인 하지 않은 사용자도 목록 확인은 가능
- 게시물 확인 : view.php
: 로그인 한 사용자만 게시글 확인
- 게시글 작성 : write.php -> write_ok.php
: 로그인 한 사용자만 게시글 작성
- 게시글 제목, 게시글 본문, 게시글 작성 시간, 첨부파일(파일 업로드), 조회수
- 게시글 삭제 : delete.php
: 본인이 작성한 게시글만 삭제 가능
- 게시글 수정 : view.php -> update.php
: 본인이 작성한 게시글만 수정 가능
이번에는 index.php의 세부항목들을 구현해보도록 하자.
먼저 우측 상단 네비게이션 바의 sign in과 sign up을 완성시켜보자.
sign in은 클라이언트가 username 과 password를 넣으면 signin.php에서 DB내의 데이터를 조회해
조회결과가 있으면 세션발행을 통해 로그인 된 화면으로 구현해야하고
sign up은 회원가입페이지 즉, register.php로 연결해주면 된다.
우선 조금 더 간단한 sign up을 먼저 구현해보자.
sign up은 여러방법이 있겠지만 두가지를 소개하려 한다.
첫번째 방법은
# window.location 을 이용해서 구현해보려한다.
# 우선 signin.php를 연결시켜주었다. 그리고 아래에는 Sign up 버튼에 register.php 를 연동시켜주었다.
# 위와같이 링크를 걸어 구현도 가능하다. 이 방법으로 진행해보도록 하자.
target에 들어갈 명령어로 _self 와 _blank 가 있다.
_self : 현재 페이지에서 링크로 연결된 페이지 보기
_blank : 새로운 창에서 링크로 연결된 페이지 보기
이제 signin.php 파일을 만들어주자.
# index.php 에서 signin.php 로 값을 넘기기위해 name속성을 지정해주자.
# 테스트용으로 값을 보내봤다. 값이 잘 넘어가는걸 확인할 수 있다.
sign in을 구현하려면 인증처리를 가장 먼저 고민해야한다.
세션에 뭘 넣어주느냐를 정해야하는데 우리는 user_no, user_id, is_login=1 or 0 이정도를 넣어주도록 하자.
session : user_no, user_id, is_login=1 or 0
#
우선 위에서 언급한 인증처리(세션값 부여)를 해주기위해 SELECT쿼리로 값을 받아온다.
SELECT쿼리의 리턴결과로 받아온 user_id가 입력받은 id와 동일한경우, 인증을 통과한것으로 간주하고
세션값으로 user_no, user_id, is_login 을 부여한다.
인증에 성공했건 안했건 index.php파일로 돌아가야하기 때문에 맨 아래에 돌아가도록 meta값을 지정해주었다.
그다음으론, 로그인에 성공했을시, index.php파일에서 더이상 폼이 보이지 않고 로그아웃버튼이 보이도록 하여야한다.
로그아웃을 하면 세션값들을 지워서 다시 index.php 로 돌아와야한다.
더불어, 로그인 한 사용자만 게시글 작성이 가능하도록 하게끔 하였으므로 write 버튼을 활성화 시켜줘야한다.
먼저 index.php 파일에 if문을 걸어 폼 출력을 제어해보도록 하자.
#
세션값을 불러들이려면 session_start()를 항상 먼저 해줘야한다.
#
if문을 걸어서 세션값에대한 확인을 해 주었다.
#
else에서는 세션이 있을경우이기 때문에 로그아웃을 활성화시켜주었다.
여기서 logout.php가 아니라 signout.php로 정정하였다.
logout 을 눌렀을때 세션을 만료시켜 없애고 index.php파일로 다시 돌아오게하는 signout.php를 만들어보자
# signout.php 파일은 세션을 만료시키고, index.php 로 돌아온다.
그다음으론 본문의 table에 [1] [2] [3] [4] [5] 와 같은 하단 네비게이션 바를 등록해주고,
로그인 되어있는 상태에서는 글쓰기가 가능해야하므로 write 버튼을 활성화시켜보도록 하자.
# colspan 으로 열을 합치고 그 자리에 만드는 개념이다.
구현은 다음에 진행하도록 하겠다.
'WEB > WEB HACKING' 카테고리의 다른 글
1-17) 아주 간단한 게시판 만들기 -4 (0) | 2018.03.07 |
---|---|
1-16) 아주 간단한 게시판 만들기 -3 (0) | 2018.03.06 |
1-14) 아주 간단한 게시판 만들기 -1 (2) | 2018.02.28 |
1-13) 세션을 이용한 인증처리 (0) | 2018.02.28 |
1-12) 쿠키를 이용한 인증처리 / 해시, 암호화, 인코딩 (0) | 2018.02.27 |