간단한 방명록 제작
     (두번째)


웹 데이터 베이스
서비스 정의
• 사이트에 방문한 방문객으로 하여금 간단한 글을
  남기게 한다.
• 한 페이지당 보여지는 게시물은 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
);




한림대학교 웹데이터베이스 - 이윤환
글 수정과 삭제
action.php 에 URL을 통해 (GET 방식) action 변
수 값에 전달된 값(update, delete)에 따라 수정과
삭제를 결정한다.
action.php는 사용자의 암호를 물어보고 POST 방
식으로validate_user.php 로 전달한다.
주어진 글에 대한 암호가 일치할 경우 수정 및 삭제
페이지로 이동한다.
 • 수정의 경우 update.php 로 이동
 • 삭제의 경우 delete.php로 이동




한림대학교 웹데이터베이스 - 이윤환
ACTION.PHP
유입 링크
 • action.php?action=update&id=글ID&start=전달하는페이지시작값
 • action.php?action=delete&id=글ID&start=전달하는페이지시작값
GET으로 전달되는 값 처리
 • $action = $_GET["action"];
 • $id = $_GET["id"];
 • $start = $_GET["start"];
Hidden을 이용하여 validate_user.php 에 값 전
달
 • <input type="hidden" name="action" value="<?php echo
   $action;?>" />
 • <input type="hidden" name="id" value="<?php echo $id;?>" />
 • <input type="hidden" name="start" value="<?php echo $start;?>"
   />


한림대학교 웹데이터베이스 - 이윤환
VALIDATE_USER.PHP
action.php 에서 입력한 암호와 게시물의 암호가 같은
지 검사
action 값에 따라 수정과 삭제 페이지로 이동
변수 처리
 • $action = $_POST["action"];
 • $id = $_POST["id"];
 • $start = $_POST["start"];
암호 검사 부분
 • 기존 암호 가져오기
     • $sql = "SELECT userpwd FROM gbook WHERE gb_id = " . $id;
     • $result = mysql_query($sql);
     • $isHere = mysql_num_rows($result);
     • if($isHere) {
              $storedPwd = mysql_result($result, 0, 0);


한림대학교 웹데이터베이스 - 이윤환
VALIDATE_USER.PHP
 • 입력 암호의 암호화
     • $sql = "SELECT password('" . trim($_POST["getPWD"]) . "');";
     • $result = mysql_query($sql);
     • $inputPwd = mysql_result($result, 0, 0);
 • 암호 비교
     • if(strcmp($storedPwd, $inputPwd))
          • strcmp 함수는 두 문자열을 비교하여 같으면 0 반환

페이지 이동 switch($action) { case 'update' :
                  ?>
                         // 이동을 위한 JavaScript
                  <?php
                                 break;
                         case 'delete' :
                  ?>
                         // 이동을 위한 JavaScript
                  <?php
                                 break;
                  }
한림대학교 웹데이터베이스 - 이윤환
글 수정
입력 변수와 점검
 $action = $_GET["action"];
 $id = $_GET["id"];
 $start = $_GET["start"];

 if(isset($_GET["action"]) AND isset($_GET["id"]) AND
 isset($_GET["start"])) {

기존 내용 가져오기
$sql = "SELECT gb_id, writer, comments FROM gbook WHERE
gb_id=" . $id;
$result = mysql_query($sql);
$rows = mysql_fetch_array($result, MYSQL_ASSOC);




한림대학교 웹데이터베이스 - 이윤환
글 수정
기본값 설정
    <input id="getID" name="getID" type="text" size="20"
    maxlength="20" value="<?php echo $rows["writer"];?>" />
    …
    <textarea id="getComments" name="getComments"
    rows="10" cols="40"><?php echo
    $rows["comments"];?></textarea>




hidden을 통한 값 전달
<input type="hidden" name="id" value="<?php echo $id;?>" />
<input type="hidden" name="start" value="<?php echo $start;?>" />




한림대학교 웹데이터베이스 - 이윤환
글 수정 처리
폼 값 검정(Form Validation) – 글쓰기와 동일
수정을 위한 SQL – UPDATE
   $sql = "UPDATE gbook SET
           writer='" . $getID . "',
           comments='" . $getComments . "',
           userPwd=password('" . $getPWD . "')
           WHERE gb_id = " . $_POST["id"];


돌아가기
echo "<script type="text/javascript">n";
echo " location.href='list.php?start=" . $_POST["start"] . "';n";
echo "</script>n";
exit;



한림대학교 웹데이터베이스 - 이윤환
글 삭제
삭제 여부 재확인
 <script type="text/javascript">
 var isDel = confirm("정말로 삭제하시겠습니까?");
 if(!isDel) {
          location.href='list.php?start=' + '<?php echo $start;?>';
 }
 </script>

삭제를 위한 SQL – DELETE
   $sql = "DELETE FROM gbook WHERE gb_id = " . $id;


돌아가기
  <script type="text/javascript">
          alert("삭제하였습니다.");
          location.href='list.php?start=' + '<?php echo
  $start;?>';
  </script>
한림대학교 웹데이터베이스 - 이윤환
수고하셨습니다.
PHP 를 사용하는 방법에 대해 한학기간 살펴봤습니
다.
기말과제는 로그인한 사용자만 글쓰기가 가능하고
그렇지 않은 사용자는 읽을 수 있는 방명록을 만드
시면 됩니다.
http://openx3.tistory.com 이나 페이스북 페이
지 “Web 개발해 봅시다 – 한림대학교”를 통해 궁
금한 것 있으면 언제든 연락주시기 바랍니다.




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

More Related Content

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

What's hot (20)

PPTX
Web vulnerability seminar4
PPTX
PHP 함수와 제어구조
PPTX
Hacosa j query 3th
PPTX
Web vulnerability seminar3
PPTX
Node.js + Express + MongoDB
PPTX
Hacosa j query 10th
PDF
처음배우는 자바스크립트, 제이쿼리 #4
PDF
레일스 환경 변수
PDF
MySQL JOIN
PPTX
Hacosa j query 4th
PPTX
PHP 기초 문법
PDF
php 시작하기
PDF
Javascript 101
PPTX
5-3. html5 device access
PDF
MySQL delete.update
PPTX
5-4. html5 offline and storage
PPTX
4-3. jquery
PDF
웹 개발 스터디 01 - MySQL
KEY
vine webdev
PPTX
5-1. html5 graphics
Web vulnerability seminar4
PHP 함수와 제어구조
Hacosa j query 3th
Web vulnerability seminar3
Node.js + Express + MongoDB
Hacosa j query 10th
처음배우는 자바스크립트, 제이쿼리 #4
레일스 환경 변수
MySQL JOIN
Hacosa j query 4th
PHP 기초 문법
php 시작하기
Javascript 101
5-3. html5 device access
MySQL delete.update
5-4. html5 offline and storage
4-3. jquery
웹 개발 스터디 01 - MySQL
vine webdev
5-1. html5 graphics
Ad

Viewers also liked (20)

PPTX
PPTX
Rocket Launcher Mechanism of Collaborative Actin Assembly Defined by Single-M...
PPTX
Cell culture 05
PPTX
역전야매액틴
PPTX
Cell Biology Lecture #2
PPTX
Cell biology Lecture 6
ODP
The Galaxy toolshed
PDF
Linux Cluster and Distributed Resource Manager
PDF
통계자료분석을 ㅇ
PDF
DTC Companies List
PDF
Platform Day
PDF
Cluster Drm
ODP
Blaas nieuw leven in je PC met Linux
PPT
PDF
Genome Wide SNP Analysis for Inferring the Population Structure and Genetic H...
PDF
Part 6 of RNA-seq for DE analysis: Detecting biology from differential expres...
PDF
How to genome
PPTX
Chapter 2, 선형 변환과 행렬 1/2
PPT
Web2.0 & Bioinformatics
PPTX
Cell biology Lecture 5
Rocket Launcher Mechanism of Collaborative Actin Assembly Defined by Single-M...
Cell culture 05
역전야매액틴
Cell Biology Lecture #2
Cell biology Lecture 6
The Galaxy toolshed
Linux Cluster and Distributed Resource Manager
통계자료분석을 ㅇ
DTC Companies List
Platform Day
Cluster Drm
Blaas nieuw leven in je PC met Linux
Genome Wide SNP Analysis for Inferring the Population Structure and Genetic H...
Part 6 of RNA-seq for DE analysis: Detecting biology from differential expres...
How to genome
Chapter 2, 선형 변환과 행렬 1/2
Web2.0 & Bioinformatics
Cell biology Lecture 5
Ad

Similar to Class10 (20)

PPTX
HTML Form과 배열
PPTX
10주차 php 사용하기-iii
PDF
[APM] Homepage bbs
PDF
11주차 간단한 방명록 제작
PDF
웹 개발 스터디 01 - PHP, MySQL 연동
PDF
성공적인웹프로그래밍
PDF
파이썬 플라스크로 배우는 웹프로그래밍 #3 (ABCD)
PDF
현대고등학교 PHP 강의 - 5차시 (설리번 프로젝트)
PDF
웹 개발 스터디 01 - PHP 파일 업로드, 다운로드
PPTX
웹데이터베이스 01주차-강의 개요
PPTX
Unity cookbook 18
PDF
[D2 campus seminar]개발자가 꼭 알아야 할 보안이야기
PPTX
수업환경 구축 - 웹데이터베이스 구축 밀 실습
PDF
PHP 사용하기
PPTX
05주차 dml- 자료 관리
PPTX
제 2주차. PHP 기초
PDF
Web vulnerability seminar1
PDF
웹 개발 스터디 01 - PHP
PDF
[나만의블로그개발하기] 05 글에 댓글 달아보기
PDF
[나만의블로그개발하기] 02 서버 그리고 데이터베이스
HTML Form과 배열
10주차 php 사용하기-iii
[APM] Homepage bbs
11주차 간단한 방명록 제작
웹 개발 스터디 01 - PHP, MySQL 연동
성공적인웹프로그래밍
파이썬 플라스크로 배우는 웹프로그래밍 #3 (ABCD)
현대고등학교 PHP 강의 - 5차시 (설리번 프로젝트)
웹 개발 스터디 01 - PHP 파일 업로드, 다운로드
웹데이터베이스 01주차-강의 개요
Unity cookbook 18
[D2 campus seminar]개발자가 꼭 알아야 할 보안이야기
수업환경 구축 - 웹데이터베이스 구축 밀 실습
PHP 사용하기
05주차 dml- 자료 관리
제 2주차. PHP 기초
Web vulnerability seminar1
웹 개발 스터디 01 - PHP
[나만의블로그개발하기] 05 글에 댓글 달아보기
[나만의블로그개발하기] 02 서버 그리고 데이터베이스

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

Class10

  • 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. 글 수정과 삭제 action.php 에 URL을 통해 (GET 방식) action 변 수 값에 전달된 값(update, delete)에 따라 수정과 삭제를 결정한다. action.php는 사용자의 암호를 물어보고 POST 방 식으로validate_user.php 로 전달한다. 주어진 글에 대한 암호가 일치할 경우 수정 및 삭제 페이지로 이동한다. • 수정의 경우 update.php 로 이동 • 삭제의 경우 delete.php로 이동 한림대학교 웹데이터베이스 - 이윤환
  • 5. ACTION.PHP 유입 링크 • action.php?action=update&id=글ID&start=전달하는페이지시작값 • action.php?action=delete&id=글ID&start=전달하는페이지시작값 GET으로 전달되는 값 처리 • $action = $_GET["action"]; • $id = $_GET["id"]; • $start = $_GET["start"]; Hidden을 이용하여 validate_user.php 에 값 전 달 • <input type="hidden" name="action" value="<?php echo $action;?>" /> • <input type="hidden" name="id" value="<?php echo $id;?>" /> • <input type="hidden" name="start" value="<?php echo $start;?>" /> 한림대학교 웹데이터베이스 - 이윤환
  • 6. VALIDATE_USER.PHP action.php 에서 입력한 암호와 게시물의 암호가 같은 지 검사 action 값에 따라 수정과 삭제 페이지로 이동 변수 처리 • $action = $_POST["action"]; • $id = $_POST["id"]; • $start = $_POST["start"]; 암호 검사 부분 • 기존 암호 가져오기 • $sql = "SELECT userpwd FROM gbook WHERE gb_id = " . $id; • $result = mysql_query($sql); • $isHere = mysql_num_rows($result); • if($isHere) { $storedPwd = mysql_result($result, 0, 0); 한림대학교 웹데이터베이스 - 이윤환
  • 7. VALIDATE_USER.PHP • 입력 암호의 암호화 • $sql = "SELECT password('" . trim($_POST["getPWD"]) . "');"; • $result = mysql_query($sql); • $inputPwd = mysql_result($result, 0, 0); • 암호 비교 • if(strcmp($storedPwd, $inputPwd)) • strcmp 함수는 두 문자열을 비교하여 같으면 0 반환 페이지 이동 switch($action) { case 'update' : ?> // 이동을 위한 JavaScript <?php break; case 'delete' : ?> // 이동을 위한 JavaScript <?php break; } 한림대학교 웹데이터베이스 - 이윤환
  • 8. 글 수정 입력 변수와 점검 $action = $_GET["action"]; $id = $_GET["id"]; $start = $_GET["start"]; if(isset($_GET["action"]) AND isset($_GET["id"]) AND isset($_GET["start"])) { 기존 내용 가져오기 $sql = "SELECT gb_id, writer, comments FROM gbook WHERE gb_id=" . $id; $result = mysql_query($sql); $rows = mysql_fetch_array($result, MYSQL_ASSOC); 한림대학교 웹데이터베이스 - 이윤환
  • 9. 글 수정 기본값 설정 <input id="getID" name="getID" type="text" size="20" maxlength="20" value="<?php echo $rows["writer"];?>" /> … <textarea id="getComments" name="getComments" rows="10" cols="40"><?php echo $rows["comments"];?></textarea> hidden을 통한 값 전달 <input type="hidden" name="id" value="<?php echo $id;?>" /> <input type="hidden" name="start" value="<?php echo $start;?>" /> 한림대학교 웹데이터베이스 - 이윤환
  • 10. 글 수정 처리 폼 값 검정(Form Validation) – 글쓰기와 동일 수정을 위한 SQL – UPDATE $sql = "UPDATE gbook SET writer='" . $getID . "', comments='" . $getComments . "', userPwd=password('" . $getPWD . "') WHERE gb_id = " . $_POST["id"]; 돌아가기 echo "<script type="text/javascript">n"; echo " location.href='list.php?start=" . $_POST["start"] . "';n"; echo "</script>n"; exit; 한림대학교 웹데이터베이스 - 이윤환
  • 11. 글 삭제 삭제 여부 재확인 <script type="text/javascript"> var isDel = confirm("정말로 삭제하시겠습니까?"); if(!isDel) { location.href='list.php?start=' + '<?php echo $start;?>'; } </script> 삭제를 위한 SQL – DELETE $sql = "DELETE FROM gbook WHERE gb_id = " . $id; 돌아가기 <script type="text/javascript"> alert("삭제하였습니다."); location.href='list.php?start=' + '<?php echo $start;?>'; </script> 한림대학교 웹데이터베이스 - 이윤환
  • 12. 수고하셨습니다. PHP 를 사용하는 방법에 대해 한학기간 살펴봤습니 다. 기말과제는 로그인한 사용자만 글쓰기가 가능하고 그렇지 않은 사용자는 읽을 수 있는 방명록을 만드 시면 됩니다. http://openx3.tistory.com 이나 페이스북 페이 지 “Web 개발해 봅시다 – 한림대학교”를 통해 궁 금한 것 있으면 언제든 연락주시기 바랍니다. 한림대학교 웹데이터베이스 - 이윤환