SlideShare a Scribd company logo
간단한 방명록 제작



웹 데이터 베이스
서비스 정의
• 사이트에 방문한 방문객으로 하여금 간단한 글을
  남기게 한다.
• 한 페이지당 보여지는 게시물은 5개
    • 페이지 이동을 위한 버튼 제공
• 누구나 글을 볼 수 있다.
• 글을 쓰기 위해서는 사용자명을 입력한다.
• 게시물에 대해 암호를 주어 해당 암호를 알고 있
  으면 삭제할 수 있다.




한림대학교 웹데이터베이스 - 이윤환
TABLE
CREATE TABLE gbook (
      gb_id        int unsigned NOT NULL
                   AUTO_INCREMENT PRIMARY KEY,
      writer       varchar(50)   NOT NULL,
      regDate            datetime     NOT NULL,
      comments           text         NOT NULL,
      userpwd            char(41)     NOT NULL
);




한림대학교 웹데이터베이스 - 이윤환
설정파일(CONF.PHP)
DB 연결 정보 저장
DB 연결
  <?php
  $host = "localhost";
  $user = "testUser";
  $password = "test1234";
  $db = "testdb";
  $conn = mysql_connect($host, $user,
  $password);
  if(!mysql_select_db($db)) {
      die("DB Connectio failed : " .
  mysql_error() );
  }
  ?>
한림대학교 웹데이터베이스 - 이윤환
글쓰기 FORM(WRITE_FORM.HTML)
글쓰기 Form을 작성한다.
POST 방식으로 write_proc.php로 값을 전송한다.




          getID
                   getPWD


                  getComments




한림대학교 웹데이터베이스 - 이윤환
글쓰기 – 저장(WRITE_PROC.PHP)
전달받은 값에 현재 시간을 추가하여 DB에 저장한다.
Form 값 점검
 • 사용자 ID, 사용자 암호, 글 내용이 없으면 Form으로 다시 돌려보낸다.
    $getID = trim( $_POST["getID"] ) ;
    if(strlen($getID) < 1) {
       echo "<script type="text/javascript">n";
       echo "       alert('아이디를 입력해 주시기 바랍니다.');n";
       echo "       history.go(-1);n";
       echo "</script>n";
       exit;
    };
DB 입력이 끝나면 list.php로 이동


한림대학교 웹데이터베이스 - 이윤환
글 목록 – LIST.PHP
전체 게시물 수 구하기
    $sql = "select count(*) from gbook";
    $result = mysql_query($sql);
    $total = mysql_result($result, 0, 0);

페이지 당 게시물수
   $page_size = 5;

현재 시작 페이지 가져오기
    if( !isset($_GET["start"]) ) {
      $start = 0;
    } else {
      $start = $_GET["start"];
    }


한림대학교 웹데이터베이스 - 이윤환
글 목록 – LIST.PHP
글 가져오기
    $sql = "SELECT gb_id, writer, comments FROM gbook
             ORDER BY gb_id DESC
             LIMIT " . $start . ", " . $page_size;
    $result = mysql_query($sql);
    $pageViews = mysql_num_rows($result);

    if($pageViews == 0) {
       // 게시물이 없으면 없음을 알림
    } else {
        while($rows = mysql_fetch_array($result, MYSQL_ASSOC) )
       {
             // 게시물 출력
       }
    }

한림대학교 웹데이터베이스 - 이윤환
글 목록 – LIST.PHP
Page 이동
 • $start의 역할
       • 현재 페이지의 첫번째 게시물의 index
 • 예
       • 전체 게시물21개, 페이지당 5개의 게시물

   0         5        10           15   20

   1         6        11           16

   2         7        12           17

   3         8        13           18

   4         9        14           19

    1        2         3           4    5


한림대학교 웹데이터베이스 - 이윤환
글 목록 – LIST.PHP
이전 페이지로 이동
     5 - $page_size 10 - $page_size 15 - $page_size20 - $page_size
 ?

     0            5             10             15            20

     1            6             11             16

     2            7             12             17

     3            8             13             18

     4            9             14             19

     1             2             3              4             5




한림대학교 웹데이터베이스 - 이윤환
글 목록 – LIST.PHP
<?php
        $prev_page = $start - $page_size;
        if($prev_page >= 0) {
?>
[<A
HREF="<?=$_SERVER["PHP_SELF"]."?start=".$prev_pa
ge?>">이전 Page</A>]
<?php
        }
?>


한림대학교 웹데이터베이스 - 이윤환
글 목록 – LIST.PHP
다음 페이지로 이동
                 5 + $page_size                15 + $page_size
0 + $page_size                    10 + $page_size           20 + $page_size
                                                                          ?

  0               5               10           15            20

  1               6               11           16

  2               7               12           17

  3               8               13           18

  4               9               14           19

  1               2                3            4             5




한림대학교 웹데이터베이스 - 이윤환
글 목록 – LIST.PHP
<?php
        $next_page = $start + $page_size;
        if($next_page < $total) {
?>
[<A
HREF="<?=$_SERVER["PHP_SELF"]."?start=".$next_pa
ge?>">다음 Page</A>]
<?php
        }
?>


한림대학교 웹데이터베이스 - 이윤환
다음 시간에는
글 수정과 삭제의 과정에 대해 알아봅니다.




한림대학교 웹데이터베이스 - 이윤환
글 수정과 삭제
action.php 에 URL을 통해 (GET 방식) action 변
수 값에 전달된 값(update, delete)에 따라 수정과
삭제를 결정한다.
action.php는 사용자의 암호를 물어보고 주어진 글
에 대한 암호와 일치할 경우 수정과 삭제의 기능을
담당한다.
 • 수정의 경우 별도의 Page로 이동 (modify_form.php)
 • 삭제의 경우 암호만 맞으면 바로 삭제한다.




한림대학교 웹데이터베이스 - 이윤환

More Related Content

PDF
Class10
PPTX
MySQL과 PHP
PDF
12주차 간단한 방명록 제작 - 두번째
PPTX
Web vulnerability seminar2
PPTX
PHP에서 객체와 데이터 연결 유지
PPTX
MySQL 기초
PPTX
Web vulnerability seminar2
PPTX
Web vulnerability seminar4
Class10
MySQL과 PHP
12주차 간단한 방명록 제작 - 두번째
Web vulnerability seminar2
PHP에서 객체와 데이터 연결 유지
MySQL 기초
Web vulnerability seminar2
Web vulnerability seminar4

What's hot (20)

PPTX
Web vulnerability seminar3
PPTX
PHP 함수와 제어구조
PPTX
Hacosa j query 10th
PDF
Mymysql basic sql
PDF
레일스 환경 변수
PDF
11주차 간단한 방명록 제작
PPTX
Hacosa j query 3th
PPTX
PHP 기초 문법
PDF
php 시작하기
PPTX
Node.js + Express + MongoDB
PDF
현대고등학교 PHP 강의 - 7,8차시 (설리번 프로젝트)
PDF
현대고등학교 PHP 강의 - 4차시 (설리번 프로젝트)
PDF
MySQL JOIN
PPTX
Hacosa j query 4th
PPTX
10주차 php 사용하기-iii
PPTX
Cdr with php
PDF
MySQL delete.update
PPTX
XE 오픈 세미나(2014-06-28) - (2/3) 레이아웃 제작 노하우
PPTX
XE 레이아웃 제작 실무 노하우 1 - XECon2014 by 고진화
PPT
예제로 맛보는 Backbone 연습
Web vulnerability seminar3
PHP 함수와 제어구조
Hacosa j query 10th
Mymysql basic sql
레일스 환경 변수
11주차 간단한 방명록 제작
Hacosa j query 3th
PHP 기초 문법
php 시작하기
Node.js + Express + MongoDB
현대고등학교 PHP 강의 - 7,8차시 (설리번 프로젝트)
현대고등학교 PHP 강의 - 4차시 (설리번 프로젝트)
MySQL JOIN
Hacosa j query 4th
10주차 php 사용하기-iii
Cdr with php
MySQL delete.update
XE 오픈 세미나(2014-06-28) - (2/3) 레이아웃 제작 노하우
XE 레이아웃 제작 실무 노하우 1 - XECon2014 by 고진화
예제로 맛보는 Backbone 연습
Ad

Viewers also liked (20)

PDF
PHP 사용하기
PDF
Resin.io
PPTX
Introducing resinOS: An Operating System Tailored for Containers and Built fo...
PDF
XECon2015 :: [1-1] 안정수 - XE3 구조 및 기본기
PDF
현대고등학교 PHP 강의 - 1차시 (설리번 프로젝트)
PPTX
trello 사용법 및 좋은 팀대표란?
PDF
Nodejs를 이용한 개발
PDF
읽기 좋은 코드가 좋은코드다
PDF
깃헙으로 코드리뷰 하기
PPT
Meteor를 통해서 개발하는 웹어플리케이션 서비스
PPTX
Trello
PPTX
소스리딩워크샵 - NHN NEXT
PDF
임영기님 - 코드 리뷰 시스템 도입하기
PDF
Github 사용법
PPTX
[123] electron 김성훈
PDF
코드 리뷰 시스템 소개
PPTX
깨끗한 코드 (클린 코드, Clean Code)
PDF
우리가 몰랐던 크롬 개발자 도구
PDF
[123] quality without qa
PDF
Git는 머꼬? GitHub는 또 머지?
PHP 사용하기
Resin.io
Introducing resinOS: An Operating System Tailored for Containers and Built fo...
XECon2015 :: [1-1] 안정수 - XE3 구조 및 기본기
현대고등학교 PHP 강의 - 1차시 (설리번 프로젝트)
trello 사용법 및 좋은 팀대표란?
Nodejs를 이용한 개발
읽기 좋은 코드가 좋은코드다
깃헙으로 코드리뷰 하기
Meteor를 통해서 개발하는 웹어플리케이션 서비스
Trello
소스리딩워크샵 - NHN NEXT
임영기님 - 코드 리뷰 시스템 도입하기
Github 사용법
[123] electron 김성훈
코드 리뷰 시스템 소개
깨끗한 코드 (클린 코드, Clean Code)
우리가 몰랐던 크롬 개발자 도구
[123] quality without qa
Git는 머꼬? GitHub는 또 머지?
Ad

More from Yoonwhan Lee (20)

PDF
R 기초 : R Basics
PDF
03.기술통계 자료의 중심과 퍼진정도
PDF
02.자료다루기
PDF
01.r 기초
PDF
13.상관과 회귀
PDF
12.세표본 이상의 평균비교
PDF
11.두표본의 평균비교
PDF
10.단일표본 평균 모비율
PDF
09.통계적가설검정
PDF
08.추정
PDF
07.표본분포
PDF
06.확률분포
PDF
05.확률
PDF
00.통계학입문
PDF
14.범주형자료분석
PPTX
Smart work 자료 1
PPTX
통계자료 분석을 위한 R
PDF
통계자료분석을 ㅇ
PPTX
추정
PPTX
쿠키를 통해 구현해보는 간단한 로그인 과정
R 기초 : R Basics
03.기술통계 자료의 중심과 퍼진정도
02.자료다루기
01.r 기초
13.상관과 회귀
12.세표본 이상의 평균비교
11.두표본의 평균비교
10.단일표본 평균 모비율
09.통계적가설검정
08.추정
07.표본분포
06.확률분포
05.확률
00.통계학입문
14.범주형자료분석
Smart work 자료 1
통계자료 분석을 위한 R
통계자료분석을 ㅇ
추정
쿠키를 통해 구현해보는 간단한 로그인 과정

PHP를 이용한 간단한 방명록 만들기

  • 1. 간단한 방명록 제작 웹 데이터 베이스
  • 2. 서비스 정의 • 사이트에 방문한 방문객으로 하여금 간단한 글을 남기게 한다. • 한 페이지당 보여지는 게시물은 5개 • 페이지 이동을 위한 버튼 제공 • 누구나 글을 볼 수 있다. • 글을 쓰기 위해서는 사용자명을 입력한다. • 게시물에 대해 암호를 주어 해당 암호를 알고 있 으면 삭제할 수 있다. 한림대학교 웹데이터베이스 - 이윤환
  • 3. TABLE CREATE TABLE gbook ( gb_id int unsigned NOT NULL AUTO_INCREMENT PRIMARY KEY, writer varchar(50) NOT NULL, regDate datetime NOT NULL, comments text NOT NULL, userpwd char(41) NOT NULL ); 한림대학교 웹데이터베이스 - 이윤환
  • 4. 설정파일(CONF.PHP) DB 연결 정보 저장 DB 연결 <?php $host = "localhost"; $user = "testUser"; $password = "test1234"; $db = "testdb"; $conn = mysql_connect($host, $user, $password); if(!mysql_select_db($db)) { die("DB Connectio failed : " . mysql_error() ); } ?> 한림대학교 웹데이터베이스 - 이윤환
  • 5. 글쓰기 FORM(WRITE_FORM.HTML) 글쓰기 Form을 작성한다. POST 방식으로 write_proc.php로 값을 전송한다. getID getPWD getComments 한림대학교 웹데이터베이스 - 이윤환
  • 6. 글쓰기 – 저장(WRITE_PROC.PHP) 전달받은 값에 현재 시간을 추가하여 DB에 저장한다. Form 값 점검 • 사용자 ID, 사용자 암호, 글 내용이 없으면 Form으로 다시 돌려보낸다. $getID = trim( $_POST["getID"] ) ; if(strlen($getID) < 1) { echo "<script type="text/javascript">n"; echo " alert('아이디를 입력해 주시기 바랍니다.');n"; echo " history.go(-1);n"; echo "</script>n"; exit; }; DB 입력이 끝나면 list.php로 이동 한림대학교 웹데이터베이스 - 이윤환
  • 7. 글 목록 – LIST.PHP 전체 게시물 수 구하기 $sql = "select count(*) from gbook"; $result = mysql_query($sql); $total = mysql_result($result, 0, 0); 페이지 당 게시물수 $page_size = 5; 현재 시작 페이지 가져오기 if( !isset($_GET["start"]) ) { $start = 0; } else { $start = $_GET["start"]; } 한림대학교 웹데이터베이스 - 이윤환
  • 8. 글 목록 – LIST.PHP 글 가져오기 $sql = "SELECT gb_id, writer, comments FROM gbook ORDER BY gb_id DESC LIMIT " . $start . ", " . $page_size; $result = mysql_query($sql); $pageViews = mysql_num_rows($result); if($pageViews == 0) { // 게시물이 없으면 없음을 알림 } else { while($rows = mysql_fetch_array($result, MYSQL_ASSOC) ) { // 게시물 출력 } } 한림대학교 웹데이터베이스 - 이윤환
  • 9. 글 목록 – LIST.PHP Page 이동 • $start의 역할 • 현재 페이지의 첫번째 게시물의 index • 예 • 전체 게시물21개, 페이지당 5개의 게시물 0 5 10 15 20 1 6 11 16 2 7 12 17 3 8 13 18 4 9 14 19 1 2 3 4 5 한림대학교 웹데이터베이스 - 이윤환
  • 10. 글 목록 – LIST.PHP 이전 페이지로 이동 5 - $page_size 10 - $page_size 15 - $page_size20 - $page_size ? 0 5 10 15 20 1 6 11 16 2 7 12 17 3 8 13 18 4 9 14 19 1 2 3 4 5 한림대학교 웹데이터베이스 - 이윤환
  • 11. 글 목록 – LIST.PHP <?php $prev_page = $start - $page_size; if($prev_page >= 0) { ?> [<A HREF="<?=$_SERVER["PHP_SELF"]."?start=".$prev_pa ge?>">이전 Page</A>] <?php } ?> 한림대학교 웹데이터베이스 - 이윤환
  • 12. 글 목록 – LIST.PHP 다음 페이지로 이동 5 + $page_size 15 + $page_size 0 + $page_size 10 + $page_size 20 + $page_size ? 0 5 10 15 20 1 6 11 16 2 7 12 17 3 8 13 18 4 9 14 19 1 2 3 4 5 한림대학교 웹데이터베이스 - 이윤환
  • 13. 글 목록 – LIST.PHP <?php $next_page = $start + $page_size; if($next_page < $total) { ?> [<A HREF="<?=$_SERVER["PHP_SELF"]."?start=".$next_pa ge?>">다음 Page</A>] <?php } ?> 한림대학교 웹데이터베이스 - 이윤환
  • 14. 다음 시간에는 글 수정과 삭제의 과정에 대해 알아봅니다. 한림대학교 웹데이터베이스 - 이윤환
  • 15. 글 수정과 삭제 action.php 에 URL을 통해 (GET 방식) action 변 수 값에 전달된 값(update, delete)에 따라 수정과 삭제를 결정한다. action.php는 사용자의 암호를 물어보고 주어진 글 에 대한 암호와 일치할 경우 수정과 삭제의 기능을 담당한다. • 수정의 경우 별도의 Page로 이동 (modify_form.php) • 삭제의 경우 암호만 맞으면 바로 삭제한다. 한림대학교 웹데이터베이스 - 이윤환