Information Security

11 게시글 작성 + 저장 페이지 본문

Web Hacking/Web 기초

11 게시글 작성 + 저장 페이지

leeeeye321 2017. 11. 28. 23:58

5. 게시글 작성 페이지: write.php

-이 코드의 윗 부분은 main.php와 같기 때문에 생략

-제목, 내용을 입력하고 전달하기 위해 input, textarea 태그를 사용한다.

 

-type을 hidden으로 하여 화면에는 보이지 않게 하고, 버튼을 누르면 write_ok.php 페이지에 작성자, 날짜, 조회수(default: 0)가 전달되도록 한다.

->작성자(user_id)는 현재 로그인하고 있는 사용자의 아이디를 가져오기 위해 세션 변수 [name]을 value에 넣는다.

->작성 날짜(today)는 php의 date() 함수를 이용하여 현재 시스템의 시간을 가져온다.

->조회수(count)는 default 값 0을 전달할 것이다.

-write.php 페이지의 소스 확인

 

-위의 코드는 main.php 페이지에 추가한 코드이다.

-> 메인 페이지에서 로그인한 사용자만 [게시글 작성]을 할 수 있다.

 

이렇게 로그인하지 않은 상태에서는 [게시글 작성] 버튼이 보이지 않는다.

 

로그인한 상태에서만 [게시글 작성] 버튼을 클릭할 수 있다.

 

-[게시글 작성] 버튼을 클릭하면 이렇게 write.php 페이지로 이동된다.

-이제 여기서 입력한 내용이 DB에 저장되도록 write_ok.php 페이지를 작성할 것이다.

 


 

6. 게시글 저장 페이지: write_ok.php

-write.php에서 전달받은 내용을 DB에 저장한다.

 

일단 write.php에서 전달받은 내용을 출력해볼 것이다.

 

write.php 페이지에서 제목과 내용을 입력한 후 [제출] 버튼을 클릭한다.

 

제목, 내용, 작성자, 날짜, 조회수(default: 0)가 모두 전달된 것을 확인했다.

 

전달된 것을 확인했으니 이제 해당 내용을 DB에 저장해야 한다.

 

 

-작성한 게시글의 내용을 저장할 board 테이블의 형식은 위와 같다.

-이에 맞게 insert 문을 작성하고 sql 변수에 저장한다.

-insert 문 실행 결과를 다시 ret 변수에 저장하여 실행 성공시 success 메시지를, 실패시 fail 메시지를 출력하도록 한다.

 

write.php에서 제목과 내용을 입력한 후 [제출]을 클릭한다.

 

write_ok.php 페이지로 이동되면서 success 메시지가 출력되었다.

-DB에서 board 테이블의 내용을 확인해보면 입력한 내용 그대로 저장된 것을 확인할 수 있다.

-칸은 맞지 않게 출력되지만 내용에는 이상이 없다. (user_id : y1, date: 2017-11-29, count=0)

-이제 저장한 이 게시글을 메인 페이지에 출력해야 한다. 매우 중요하므로 다음에 이어서 하겠습니다.