티스토리 뷰

설계도


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 으로 열을 합치고 그 자리에 만드는 개념이다. 

구현은 다음에 진행하도록 하겠다.

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함