66
406 426 Design & Analysis of Database System 406 426 Design & Analysis of Database System 406.426 Design & Analysis of Database System PHP 406.426 Design & Analysis of Database System PHP 2007 Fall 2007 Fall 지도교수: 박 종 헌 교수님 ([email protected] ) 담당조교 정범석 (b d l03@ k ) 담당조교: 정범석 (bumdol03@snu.ac.kr ) Digital Interaction Lab. Industrial Engineering Seoul National University

406 426 Design & Analysis of Database System406.426 …1 웹브라우저 (인터넷익스플로러) 웹서버프로그램 (아파치) 2 4 5 PHP 1웹페이지요청 PHP부분처리요청

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 406 426 Design & Analysis of Database System406.426 …1 웹브라우저 (인터넷익스플로러) 웹서버프로그램 (아파치) 2 4 5 PHP 1웹페이지요청 PHP부분처리요청

406 426 Design & Analysis of Database System406 426 Design & Analysis of Database System406.426 Design & Analysis of Database System

PHP

406.426 Design & Analysis of Database System

PHP

2007 Fall2007 Fall

지도교수: 박 종 헌 교수님 ([email protected])담당조교 정범석 (b d l03@ k )담당조교: 정범석 ([email protected])

Digital Interaction Lab.Industrial Engineering

Seoul National University

Page 2: 406 426 Design & Analysis of Database System406.426 …1 웹브라우저 (인터넷익스플로러) 웹서버프로그램 (아파치) 2 4 5 PHP 1웹페이지요청 PHP부분처리요청

Reference Martial

PHP 프로그래밍 입문 : 웹 사이트 제작 완벽 실습래밍 입문 웹 사이 제작 완벽 실습

Hanbit Book저자: 황재호

발행일: 2005 / 12http://www.hanbitbook.co.kr/look.php?isbn=89-7914-374-5

406.426 Design & Analysis of Database System 2

Page 3: 406 426 Design & Analysis of Database System406.426 …1 웹브라우저 (인터넷익스플로러) 웹서버프로그램 (아파치) 2 4 5 PHP 1웹페이지요청 PHP부분처리요청

Table of Contents

PHP 개요개

PHP 동작 원리

윈도우 환경에서 Apache 설치

PHP 프로그램 설치

Apache와 PHP 환경 설정

Mysql 설치

실습 환경 구축

406.426 Design & Analysis of Database System 3

Page 4: 406 426 Design & Analysis of Database System406.426 …1 웹브라우저 (인터넷익스플로러) 웹서버프로그램 (아파치) 2 4 5 PHP 1웹페이지요청 PHP부분처리요청

What is PHP?

PHP official web sitehttp://www.php.net

PHP is a widely-used general-purpose scripting language that is especially suited for Webis especially suited for Web development and can be embedded into HTML.

“Hypertext Preprocessor”의약어약어

406.426 Design & Analysis of Database System 4

Page 5: 406 426 Design & Analysis of Database System406.426 …1 웹브라우저 (인터넷익스플로러) 웹서버프로그램 (아파치) 2 4 5 PHP 1웹페이지요청 PHP부분처리요청

What is PHP?

특징

Apache, Mysql, PHP 가 패키지 형태로 사용

저비용으로 고기능 웹 사이트 구축

C 언어와 90% 이상 유사C 언어와 90% 이상 유사

Oracle, PostgreSQL, Sybase 등 다양한 데이터베이스를 지원

PHP는 설치가 간단하고 배우기 쉬움

익히기 쉽기 때문에 JSP에 비해 개발 기간도 적게 걸림

구축된 웹 사이트 동작 속도가 빠름

간략한 역사

1994년 라스머스 레돌프가 PHP 개발

PHP/FI2 PHP 3 PHP 4로 발전PHP/FI2, PHP 3, PHP 4로 발전

현재 PHP 5 출시Zend 2 엔진 채용

406.426 Design & Analysis of Database System 5

다양한 객체지향 기능 추가

Page 6: 406 426 Design & Analysis of Database System406.426 …1 웹브라우저 (인터넷익스플로러) 웹서버프로그램 (아파치) 2 4 5 PHP 1웹페이지요청 PHP부분처리요청

PHP vs. ASP/JSP

ASPMS 사에서 제공하는 윈도우 서버 환경(IIS) 필요

MS사의 MSSQL 데이터베이스만을 사용

JSPSUN사의 JAVA를 기반으로 웹 환경에 맞게 개발

JSP 언어는 보안성이 우수하고 많은 우수한 기능들이 포함

객체 지향 언어이기 때문에 초 자에게 어려움객체 지향 언어이기 때문에 초보자에게 어려움

406.426 Design & Analysis of Database System 6

Page 7: 406 426 Design & Analysis of Database System406.426 …1 웹브라우저 (인터넷익스플로러) 웹서버프로그램 (아파치) 2 4 5 PHP 1웹페이지요청 PHP부분처리요청

PHP 기반의 운영환경

서버(서비 제 ) 컴 터클라이언트(서비스 요청) 컴퓨터

서버(서비스 제공) 컴퓨터

1웹 브라우저

(인터넷 익스플로러)웹 서버 프로그램

(아파치)

2

1

45

PHP

2 41 웹 페이지 요청

PHP 부분 처리 요청

데이터베이스

32 PHP 부분 처리 요청

가져온 데이터 아파치에 전달

3 데이터베이스로부터 가져옴

데이터베이스(MYSQL)

4 가져온 데이터 아파치에 전달

5 웹 페이지를 클라이언트에 제공

406.426 Design & Analysis of Database System 7

Page 8: 406 426 Design & Analysis of Database System406.426 …1 웹브라우저 (인터넷익스플로러) 웹서버프로그램 (아파치) 2 4 5 PHP 1웹페이지요청 PHP부분처리요청

PHP 사용 예

<html><body><?

$kor=80; $eng=70; $math= 90;$ ; $ g ; $ ;$sum= $kor + $eng + $math;$avg= $sum/3;

?>?><table border=1>

<tr><td> 국어 : <? echo $kor; ?> </td></tr><tr><td> 영어 : <? echo $eng; ?> </td></tr>

프로그램 실행 결과

<tr><td> 영어 : <? echo $eng; ?> </td></tr><tr><td> 수학 : <? echo $math; ?> </td></tr><tr><td> 합계 : <? echo $sum; ?> </td></tr><t ><td> 평균 <? h $ ?> </td></t ><tr><td> 평균 : <? echo $avg; ?> </td></tr>

</table></body>

406.426 Design & Analysis of Database System 8

</html>

Page 9: 406 426 Design & Analysis of Database System406.426 …1 웹브라우저 (인터넷익스플로러) 웹서버프로그램 (아파치) 2 4 5 PHP 1웹페이지요청 PHP부분처리요청

Install Apache Web Server

Apache Web Server official pweb site

http://httpd.apache.org

Download Apache HTTP Server 2 2 3Server 2.2.3

the best available version Win32 Binary fileWin32 Binary file (apache_2.2.3-win32-x86-no_ssl.msi)

406.426 Design & Analysis of Database System 9

Page 10: 406 426 Design & Analysis of Database System406.426 …1 웹브라우저 (인터넷익스플로러) 웹서버프로그램 (아파치) 2 4 5 PHP 1웹페이지요청 PHP부분처리요청

Install PHP

Download PHP 5.1.6 zip package [9,285Kb] - 24 Aug 2006 at p p g [ , ] ghttp://www.php.net/downloads.php

406.426 Design & Analysis of Database System 10

Page 11: 406 426 Design & Analysis of Database System406.426 …1 웹브라우저 (인터넷익스플로러) 웹서버프로그램 (아파치) 2 4 5 PHP 1웹페이지요청 PHP부분처리요청

Install All in One

Apache + PHP + MySql + 관리도구p y q 관리 구

http://www.autoset.org/Download latest version of 올가

Install Reboot.

Web home directoryC:\autoset\public_htmlhttp://localhosthttp://localhost

406.426 Design & Analysis of Database System 11

Page 12: 406 426 Design & Analysis of Database System406.426 …1 웹브라우저 (인터넷익스플로러) 웹서버프로그램 (아파치) 2 4 5 PHP 1웹페이지요청 PHP부분처리요청

Table of Contents

1 PHP의 시작과 끝1. PHP의 시작과 끝

2. 주석문

3. echo 문

4 상수와 변수4. 상수와 변수

5. 연산자

406.426 Design & Analysis of Database System 12

Page 13: 406 426 Design & Analysis of Database System406.426 …1 웹브라우저 (인터넷익스플로러) 웹서버프로그램 (아파치) 2 4 5 PHP 1웹페이지요청 PHP부분처리요청

PHP의 시작과 끝

“안녕하세요 저는 홍길동입니다 “ 출력 (h ll h )“안녕하세요~~, 저는 홍길동입니다.“ 출력 (hello.php)

PHP 시작 줄바꿈

1 : <?2 : echo "안녕하세요~~<br>"; ec o 안녕하세 b ;3 : echo "저는 홍길동입니다.<br>"; 4 : ?>

PHP 끝Web Home Directory

밑에 실습 폴더명

http://localhost/myfolder/hello2.php• 익스플로러 주소창 :

밑에 실습 폴더명

406.426 Design & Analysis of Database System 13

http://localhost/myfolder/hello2.php익스플로러 주소창

Page 14: 406 426 Design & Analysis of Database System406.426 …1 웹브라우저 (인터넷익스플로러) 웹서버프로그램 (아파치) 2 4 5 PHP 1웹페이지요청 PHP부분처리요청

주석문

comment phpcomment.php

한 줄 주석처리

1 : <?2 // 이 프로그램은 주석처리를 설명하는 프로그램입니다2 : // 이 프로그램은 주석처리를 설명하는 프로그램입니다. 3 : /* 주석처리를 여러 줄4 : 하고자하는 경우는5 : 이와 같이 합니다.*/6 : echo “이 내용은 출력됩니다."; 7 : ?>

여러 줄 주석처리

406.426 Design & Analysis of Database System 14

Page 15: 406 426 Design & Analysis of Database System406.426 …1 웹브라우저 (인터넷익스플로러) 웹서버프로그램 (아파치) 2 4 5 PHP 1웹페이지요청 PHP부분처리요청

echo 문

echo phpecho.php

대소문자 구분 안함(동일하게 동작)

1 : <?2 : echo "---------------------- <br>";3 : echo "거북이<br>";3 : echo 거북이<br> ;4 : echo "토끼<br>";5 : echo "---------------------- <br>";6 : ECHO "&^%$&*%&&%*&(*(<br>";6 : ECHO "&^%$&*%&&%*&(*(<br>";7 : ECHO "---------------------- <br>";8 : ECHO "자동차<br>";

C O 버스9 : ECHO "버스<br>";10 : ECHO "---------------------- <br>";11 : ?>

406.426 Design & Analysis of Database System 15

Page 16: 406 426 Design & Analysis of Database System406.426 …1 웹브라우저 (인터넷익스플로러) 웹서버프로그램 (아파치) 2 4 5 PHP 1웹페이지요청 PHP부분처리요청

상수와 변수

var phpvar.php

문자열 변수

1 : <?2 : $aaa = "사과";3 : echo "<br>"; 문자열 상수;4 : echo $aaa;5 :6 : $aaa = "오렌지";

문자열 상수

7 : echo "<br>";8 : echo $aaa;9 :

정수형 변수

10 : $aaa = 100;11 : echo "<br>";12 : echo $aaa;13 ? 정수형 상수

406.426 Design & Analysis of Database System 16

13 : ?> 정수형 상수

Page 17: 406 426 Design & Analysis of Database System406.426 …1 웹브라우저 (인터넷익스플로러) 웹서버프로그램 (아파치) 2 4 5 PHP 1웹페이지요청 PHP부분처리요청

총점과 평균 구하기

sum avg php

1 : <?$

sum_avg.php

2 : $kor =80;3 : $eng =70;4 : $math = 90;5

총점 구하기

5 :6 : $sum = $kor + $eng + $math;7 : $avg = $sum/3;8 : 평균 구하기8 :9 : echo ("국어 : $kor <br>");10 : echo ("영어 : $eng <br>");11 : echo ("수학 : $math <br>");

평균 구하기

11 : echo ( 수학 : $math <br> );12 : echo ("합계 : $sum <br>");13 : echo ("평균 : $avg <br>");14 : ?>

406.426 Design & Analysis of Database System 17

14 : ?>

Page 18: 406 426 Design & Analysis of Database System406.426 …1 웹브라우저 (인터넷익스플로러) 웹서버프로그램 (아파치) 2 4 5 PHP 1웹페이지요청 PHP부분처리요청

거스름돈 계산하기

change php

1 : <?

change.php

주석문2 : $money = 3000; // 지불한 돈3 : $price = 800; // 개당 물건 가격4 : $num = 3; // 구매 개수

주석문

5 :6 : $change = $money - $price * $num; // 거스름돈 = 3000 - 800 * 37 :

물건값 $8 : echo ("물건값 : $price <br>");9 : echo ("구매개수 : $num <br>");10 : echo ("지불액 : $money <br>");11 h ("거스름돈은 $ h 원 입니다 <b >")11 : echo ("거스름돈은 $change 원 입니다.<br>");12 : ?>

406.426 Design & Analysis of Database System 18

Page 19: 406 426 Design & Analysis of Database System406.426 …1 웹브라우저 (인터넷익스플로러) 웹서버프로그램 (아파치) 2 4 5 PHP 1웹페이지요청 PHP부분처리요청

산술 연산자

연산자 예 결과

더하기(+) 5 + 6 11

빼기(-) 6 - 3 3

하기( )곱하기(*) 2 + 6 * 3 20

나누기(/) 2 - 6 / 3 0

나머지(%) 5 % 2 1

증가(++) $a++ 현재 $a 값에서 1 증가증가(++) $a++ 현재 $a 값에서 1 증가

감소(--) $a-- 현재 $a 값에서 1 감소

406.426 Design & Analysis of Database System 19

Page 20: 406 426 Design & Analysis of Database System406.426 …1 웹브라우저 (인터넷익스플로러) 웹서버프로그램 (아파치) 2 4 5 PHP 1웹페이지요청 PHP부분처리요청

산술 연산자 예제

1 : <?1 : <?2 : $a = 3;3 : $b = 2;5 : $c = $a + $b;5 : $c = $a + $b;7 : $b = $a * $b;9 : $c = $a + $b * $c;1010 :11 : echo "$a $b $c<br>";13 : $c = $a % $b;14 :15 : $b++;17 : $a--;$ ;18 :19 : echo "$a $b $c<br>";20 : ?>

406.426 Design & Analysis of Database System 20

20 : ?>

Page 21: 406 426 Design & Analysis of Database System406.426 …1 웹브라우저 (인터넷익스플로러) 웹서버프로그램 (아파치) 2 4 5 PHP 1웹페이지요청 PHP부분처리요청

점 (.) 연산자

1 : <?1 : <?2 : $a = "토끼 ";3 : $b = "거북이";4 :4 :5 : $c = $a.$b;6 :7 h $ " b "

두 개의 문자열 연결

7 : echo $a."<br>";8 : echo $b."<br>";9 : echo $c."<br>";10 : ?>

406.426 Design & Analysis of Database System 21

Page 22: 406 426 Design & Analysis of Database System406.426 …1 웹브라우저 (인터넷익스플로러) 웹서버프로그램 (아파치) 2 4 5 PHP 1웹페이지요청 PHP부분처리요청

대입 연산자

연산자 예 동일한 수식 설명연산자 예 동일한 수식 설명

= $a = 3 3을 변수 $a에 대입

+= $a += 3 $a = $a +3 $a + 3 결과값을 $a 값에 대입

-+ $a -= 3 $a = $a - 3 $a - 3 결과값을 $a 값에 대입+ $a 3 $a $a 3 $a 3 결과값을 $a 값에 대입

*= $a *= 3 $a = $a * 3 $a * 3 결과값을 $a 값에 대입

/= $a /= 3 $a = $a / 3 $a / 3 결과값을 $a 값에 대입

%= $a %= 3 $a = $a % 3 $a % 3 결과값을 $a 값에 대입% $a % 3 $a $a % 3 $a % 3 결과값을 $a 값에 대입

.= $a .= "<br>" $a = $a ."<br>" $a.“<br>" 결과값을 $a 값에 대입

406.426 Design & Analysis of Database System 22

Page 23: 406 426 Design & Analysis of Database System406.426 …1 웹브라우저 (인터넷익스플로러) 웹서버프로그램 (아파치) 2 4 5 PHP 1웹페이지요청 PHP부분처리요청

대입 연산자 예제

1 : <?1 : <?2 : $a = 10;4 : $a += 2; // $a = $a + 2 와 동일6 : $a = 7; // $a = $a 7 와 동일6 : $a -= 7; // $a = $a - 7 와 동일8 : $a *= 5; // $a = $a * 5 와 동일

10 : $a /= 5; // $a = $a / 5 와 동일12 $ % // $ $ % 와 동일12 : $a %= 7; // $a = $a % 7 와 동일14 :15 : $a = "미키";16 : $a .= " 마우스"; // $a = $a . " 마우스" 와 동일18 : ?>

406.426 Design & Analysis of Database System 23

Page 24: 406 426 Design & Analysis of Database System406.426 …1 웹브라우저 (인터넷익스플로러) 웹서버프로그램 (아파치) 2 4 5 PHP 1웹페이지요청 PHP부분처리요청

비교 연산자

연산자 예 설명연산자 예 설명

== $a == $b $a와 $b가 서로 같은 값을 가지면 참

!= $a != $b $a와 $b가 서로 다른 값을 가지면 참

$ $ $ 의 값이 $ 의 값 다 면 참> $a > $b $a의 값이 $b의 값보다 크면 참

< $a < $b $a의 값이 $b의 값보다 작으면 참

>= $a >= $b $a의 값이 $b의 값보다 크거나 같으면 참

<= $a <= $b $a의 값이 $b의 값보다 작거나 같으면 참

406.426 Design & Analysis of Database System 24

Page 25: 406 426 Design & Analysis of Database System406.426 …1 웹브라우저 (인터넷익스플로러) 웹서버프로그램 (아파치) 2 4 5 PHP 1웹페이지요청 PHP부분처리요청

논리 연산자

연산 예 설명연산자

예 설명

! !$a $a가 참이면 거짓, $a가 거짓이면 참$ $ 가 참이 거짓, $ 가 거짓이 참

&& ($a>$b) && ($c>$d)

($a>$b)와 ($c>$d)가 둘 다 참이어야만 참($c>$d)

|| ($a>$b) || ($c>$d)

($a>$b)와 ($c>$d)가 둘 중 하나만 참이어도참

406.426 Design & Analysis of Database System 25

Page 26: 406 426 Design & Analysis of Database System406.426 …1 웹브라우저 (인터넷익스플로러) 웹서버프로그램 (아파치) 2 4 5 PHP 1웹페이지요청 PHP부분처리요청

If ~ Else 예제

시험 점수가 80점 이상이면 합격 (pass php)시험 점수가 80점 이상이면 합격 (pass.php)

참이면 5행 실행거짓이면 7행 실행

1 : <?

거짓이면 7행 실행

1 : ?2 : $score = 70;3 :4 : if ($score >= 80)4 : if ($score >= 80)5 : echo ("점수가 {$score}점 이므로 합격입니다.<br>");6 : else7 : echo ("점수가 {$score}점 이므로 불합격입니다 <br>");7 : echo ("점수가 {$score}점 이므로 불합격입니다.<br>");8 : ?>

406.426 Design & Analysis of Database System 26

Page 27: 406 426 Design & Analysis of Database System406.426 …1 웹브라우저 (인터넷익스플로러) 웹서버프로그램 (아파치) 2 4 5 PHP 1웹페이지요청 PHP부분처리요청

If 조건식에 사용되는 비교 연산자

연산자 의미 예 결과 값연산자 의미 예 결과 값

== 같다 3 == 2 3은 2와 같지 않으므로 거짓

!= 같지 않다 5 != 7 5는 7과 같지 않으므로 참

> 크다 5 > 7 5는 7보다 크지 않으므로 거짓

< 작다 8 < 10 8은 10보다 작으므로 참

>= 크거나 같다 9 >= 9 “크거나 같다”에서 “같다”조건에 해당하여> 크거나 같다 9 > 9 크거나 같다 에서 같다 조건에 해당하여참

<= 작거나 같다 10 <= 7 10은 7보다 작거나 같지 않으므로 거짓

406.426 Design & Analysis of Database System 27

Page 28: 406 426 Design & Analysis of Database System406.426 …1 웹브라우저 (인터넷익스플로러) 웹서버프로그램 (아파치) 2 4 5 PHP 1웹페이지요청 PHP부분처리요청

If 문 예제

입장료가 기본 10000원 7세 미만 무료 (free fee php)

1 : <?

입장료가 기본 10000원, 7세 미만 무료 (free_fee.php)

1 : <?2 : $fee = 10000;3 : $age = 5;4

참인 경우에만 7행 실행

4 :5 : if ( $age < 7 )6 : {7 : $fee = 0;8 : }9 :

변수를 문자와 분리

10 : echo "나이가 {$age}세 이므로 입장료는 {$fee}원 입니다. <br>";11 : ?>

406.426 Design & Analysis of Database System 28

Page 29: 406 426 Design & Analysis of Database System406.426 …1 웹브라우저 (인터넷익스플로러) 웹서버프로그램 (아파치) 2 4 5 PHP 1웹페이지요청 PHP부분처리요청

홀수 / 짝수 판별 예제

odd phpodd.php

참인 경우에는 5행 실행

1 : <?

참 경우에 행 행거짓인 경우에는 7행 실행

2 : $a = 3;3 :4 : if ($a % 2 == 1)4 : if ($a % 2 1)5 : echo "$a 은(는) 홀수 입니다.<br>";6 : else7 : echo "$a 은(는) 짝수 입니다 <br>";7 : echo $a 은(는) 짝수 입니다.<br> ;8 : ?>

406.426 Design & Analysis of Database System 29

Page 30: 406 426 Design & Analysis of Database System406.426 …1 웹브라우저 (인터넷익스플로러) 웹서버프로그램 (아파치) 2 4 5 PHP 1웹페이지요청 PHP부분처리요청

어떤 수가 100보다 큰지를 판별하는 예제

comp 100 phpcomp_100.php참인 경우에는 5행 실행

거짓인 경우에는 7행 실행

1 : <?2 : $a = 10;$ ;3 :4 : if ($a > 100)5 : echo "$a 은(는) 100 보다 큽니다 <br>";5 : echo $a 은(는) 100 보다 큽니다.<br> ;6 : else7 : echo "$a 은(는) 100 보다 크지 않습니다.<br>";8 : ?>8 : ?>

406.426 Design & Analysis of Database System 30

Page 31: 406 426 Design & Analysis of Database System406.426 …1 웹브라우저 (인터넷익스플로러) 웹서버프로그램 (아파치) 2 4 5 PHP 1웹페이지요청 PHP부분처리요청

다이어트 필요 유무 판별 예제

diat php

1 : <?5 : $h = 170;

diat.php

5 : $h = 170;6 : $w = 40;7 : $a = ($h-100)*0.9;88 :9 : echo ("키 : $h <br>");10 : echo ("몸무게 : $w <br>");11 :12 : if ($w>$a)13 : echo ("다이어트가 필요할지도 모르겠군요.<br>");( )14 : else15 : echo ("다이어트가 필요하지 않군요.<br>");16 : ?>

406.426 Design & Analysis of Database System 31

16 : ?

Page 32: 406 426 Design & Analysis of Database System406.426 …1 웹브라우저 (인터넷익스플로러) 웹서버프로그램 (아파치) 2 4 5 PHP 1웹페이지요청 PHP부분처리요청

운전면허

필기 70점 이상 실기 80점 이상 합격 (pass2 php)

1 : <?2 : /* 운전면허 합격조건은 필기 70점 이상, 실기 80점 이상이어야

필기 70점 이상, 실기 80점 이상 합격 (pass2.php)

2 : / 운전면허 합격조건은 필기 70점 이상, 실기 80점 이상이어야3 : 합니다. */5 : $pilgi = 75;6 : $silgi = 86;6 : $silgi = 86;7 :8 : echo "필기점수 : $pilgi<br>";9 echo "실기점수 $silgi<br>"9 : echo "실기점수 : $silgi<br>";10 :11 : if ($pilgi >= 70 and $silgi>=80)

합격입니다12 : echo "합격입니다<br>";13 : else14 : echo "불합격입니다<br>";

406.426 Design & Analysis of Database System 32

15 : ?>

Page 33: 406 426 Design & Analysis of Database System406.426 …1 웹브라우저 (인터넷익스플로러) 웹서버프로그램 (아파치) 2 4 5 PHP 1웹페이지요청 PHP부분처리요청

다중 if-else 문 예제

점수에 따른 등급 표시 (grade php)

1 : <?2 : $s = 80;

점수에 따른 등급 표시 (grade.php)

2 : $s = 80;3 :4 : if ($s>=95 && $s<=100) echo("$s A+ <br>");7 l if ($ > 90 && $ < 94) h ("$ A <b >")7 : elseif ($s>=90 && $s<=94) echo("$s A <br>");10 : elseif ($s>=85 && $s<=89) echo("$s B+ <br>");13 : elseif ($s>=80 && $s<=84 ) echo("$s B <br>");16 : elseif ($s>=75 && $s<=79 ) echo("$s C+ <br>");19 : elseif ($s>=70 && $s<=74 ) echo("$s C <br>");22 : elseif ($s>=65 && $s<=69 ) echo("$s D+ <br>");( ) ( )25 : elseif ($s>=60 && $s<=64 ) echo("$s D <br>");28 : else echo("$s F <br>");

30 : ?>

406.426 Design & Analysis of Database System 33

30 : ?

Page 34: 406 426 Design & Analysis of Database System406.426 …1 웹브라우저 (인터넷익스플로러) 웹서버프로그램 (아파치) 2 4 5 PHP 1웹페이지요청 PHP부분처리요청

Switch 문

1 : switch (변수)1 : switch (변수)2 : {3 : case 값1 :4 : 문장 1;

변수의 값이 값1 인 경우에 실행됨

4 : 문장 1;5 : break;6 : case 값2 :

문장 2변수의 값이 값2 인 경우에 실행됨

7 : 문장 2;8 : break;9 : case 값3 : 변수의 값이 값3 인 경우에 실행됨10 : 문장 3;11 : break;12 : default : 나머지 모든 경우에 실행됨

13 : 문장 4;14 : }

406.426 Design & Analysis of Database System 34

Page 35: 406 426 Design & Analysis of Database System406.426 …1 웹브라우저 (인터넷익스플로러) 웹서버프로그램 (아파치) 2 4 5 PHP 1웹페이지요청 PHP부분처리요청

Switch문 예제

1 : <?1 : ?2 : $a = 2;4 : switch( $a )5 : {6 0 h "변수 \$ 가 0이기 때문에 이 줄이 실행되었군요 b "6 : case 0 : echo "변수 \$a가 0이기 때문에 이 줄이 실행되었군요~~<br>";8 : break;9 : case 1 : echo "변수 \$a가 1이기 때문에 이 줄이 실행되었군요~~<br>";11 : break;11 : break;12 : case 2 : echo "변수 \$a가 2이기 때문에 이 줄이 실행되었군요~~<br>";14 : break;15 : case 3 : echo "변수 \$a가 3이기 때문에 이 줄이 실행되었군요~~<br>";17 b k17 : break;18 : default : echo "변수 \$a가 0, 1, 2, 3에 해당되지 않는군요~~<br>";20 : }21 : ?>

406.426 Design & Analysis of Database System 35

Page 36: 406 426 Design & Analysis of Database System406.426 …1 웹브라우저 (인터넷익스플로러) 웹서버프로그램 (아파치) 2 4 5 PHP 1웹페이지요청 PHP부분처리요청

While문

while 문 이용 1에서 10까지 출력 (while 1 10 php)

1 : <?2 : $i = 1; // 초기값 설정

while 문 이용 1에서 10까지 출력 (while_1_10.php)

2 : $i = 1; // 초기값 설정3 :4 : while ($i <= 10) // 조건식이 거짓이 될 때까지 5행~8행 반복 실행5 {5 : {6 : echo $i."<br>";7 : $i++; // $i의 값을 1 증가 시킴8 : }9 : ?>

406.426 Design & Analysis of Database System 36

Page 37: 406 426 Design & Analysis of Database System406.426 …1 웹브라우저 (인터넷익스플로러) 웹서버프로그램 (아파치) 2 4 5 PHP 1웹페이지요청 PHP부분처리요청

While문 예제

while 문 1 ~ 10까지 합 구하기 (while sum 1 10 php)

1 : <?2 : $a=1; // 초기화

while 문 1 10까지 합 구하기 (while_sum_1_10.php)

2 : $a 1; // 초기화3 : $sum=0; // 누적합 초기화4 :5 : while($a<=10) // $a가 10이 될 때까지 7행과 8행 반복5 e($a 0) // $a가 0이 될 때까지 행과 8행 반복6 : {7 : $sum=$sum+$a;8 : $a++; // $a 값 1 증가9 : }10 :11 : echo("1에서 10까지 자연수의 합은 $sum 입니다.<br>");12 : ?>

406.426 Design & Analysis of Database System 37

Page 38: 406 426 Design & Analysis of Database System406.426 …1 웹브라우저 (인터넷익스플로러) 웹서버프로그램 (아파치) 2 4 5 PHP 1웹페이지요청 PHP부분처리요청

For문

for 문을 이용하여 1 ~ 10 출력하기 (for 1 10 php)for 문을 이용하여 1 10 출력하기 (for_1_10.php)

1 2 3

1 : <?2 : for ($i=1; $i <= 10; $i++) // $i 가 1 부터 10까지 10번 수행

1 2

3 : {4 : echo $i."<br>";5 : }

4}

6 : ?>

406.426 Design & Analysis of Database System 38

Page 39: 406 426 Design & Analysis of Database System406.426 …1 웹브라우저 (인터넷익스플로러) 웹서버프로그램 (아파치) 2 4 5 PHP 1웹페이지요청 PHP부분처리요청

For문을 활용한 덧셈 예제

for 문 1 ~ 10까지의 합계 (for sum 1 10 php)

1 : <?2

for 문 1 10까지의 합계 (for_sum_1_10.php)

2 :3 : $sum=0;4 :5 : for($a=1; $a<=10; $a++) // $a가 1에서 10까지 7행이 10번 반복6 : {7 : $sum=$sum+$a;;8 : }9 :10 : echo("1에서 10까지 자연수의 합은 $sum 입니다 <br>");10 : echo( 1에서 10까지 자연수의 합은 $sum 입니다.<br> );11 : ?>

406.426 Design & Analysis of Database System 39

Page 40: 406 426 Design & Analysis of Database System406.426 …1 웹브라우저 (인터넷익스플로러) 웹서버프로그램 (아파치) 2 4 5 PHP 1웹페이지요청 PHP부분처리요청

For문을 활용한 구구단 예제

구구단표 만들기 (gugudan php)

1 : <?2 : echo("--------------------- <br>");

구구단표 만들기 (gugudan.php)

3 :4 : for($a=2; $a<=9; $a++)5 : {5 {6 : for($b=1; $b<=9; $b++)7 : {8 : $c = $a * $b;8 : $c = $a $b;9 : echo(" $a x $b = $c <br>");10 : }11 :11 :12 : echo("--------------------- <br>");13 : }14 ?

406.426 Design & Analysis of Database System 40

14 : ?>

Page 41: 406 426 Design & Analysis of Database System406.426 …1 웹브라우저 (인터넷익스플로러) 웹서버프로그램 (아파치) 2 4 5 PHP 1웹페이지요청 PHP부분처리요청

While문과 Do-While문

• while 문 예제 • do ~ while 문 예제• while 문 예제 • do ~ while 문 예제

조건식이 앞에 존재 조건식이 뒤에 존재

1 : <?2 $i 100

1 : <?2 $i 100

조건식이 뒤에 존재

2 : $i = 100;3 :4 : while ($i <= 10)

2 : $i = 100;3 :4 : do

5 : {6 : echo $i."<br>";7 : }

5 : {6 : echo $i."<br>";7 : } while ($i <= 10)}

8 : ?>} ($ )

8 : ?>

406.426 Design & Analysis of Database System 41

Page 42: 406 426 Design & Analysis of Database System406.426 …1 웹브라우저 (인터넷익스플로러) 웹서버프로그램 (아파치) 2 4 5 PHP 1웹페이지요청 PHP부분처리요청

배열 이용 합계와 평균 구하기

배열 이용 5 과목의 합계/평균 (array avg php)

1 : <?2 : //배열이용 합계, 평균구하기, 배열의 원소는 0부터 시작

배열 이용 5 과목의 합계/평균 (array_avg.php)

2 : //배열이용 합계, 평균구하기, 배열의 원소는 0부터 시작4 : $score[0]=80; $score[1]=90; $score[2]=90;7 : $score[3]=99; $score[4]=78;9 :9 :10 : $sum=0;11 : for($a=0; $a<=4; $a++)13 : $sum $sum+$score[$a];13 : $sum=$sum+$score[$a];15 :16 : $avg=$sum/5;

과목 점수 $ $ $18 : echo("과목 점수 : $score[0], $score[1], $score[2],$score[3], $score[4]<br>");

19 : echo("합계 : $sum, 평균 : $avg <br>");

406.426 Design & Analysis of Database System 42

20 : ?>

Page 43: 406 426 Design & Analysis of Database System406.426 …1 웹브라우저 (인터넷익스플로러) 웹서버프로그램 (아파치) 2 4 5 PHP 1웹페이지요청 PHP부분처리요청

array( ) 함수 이용한 1차원 배열

array( ) 함수를 이용 (array func avg php)

1 : <?2 : // array() 함수를 이용한 배열이용 합계, 평균구하기

array( ) 함수를 이용 (array_func_avg.php)

4 : $score = array(80, 90, 90, 99, 78);5 :6 : $sum=0;6 $su 0;7 : for($a=0; $a<=4; $a++)9 : $sum=$sum+$score[$a];10 :10 :12 : $avg=$sum/5;13 :14 : echo("과목 점수 : $score[0] $score[1] $score[2]14 : echo( 과목 점수 : $score[0], $score[1], $score[2],

$score[3], $score[4]<br>");15 : echo("합계 : $sum, 평균 : $avg <br>");16 ?

406.426 Design & Analysis of Database System 43

16 : ?>

Page 44: 406 426 Design & Analysis of Database System406.426 …1 웹브라우저 (인터넷익스플로러) 웹서버프로그램 (아파치) 2 4 5 PHP 1웹페이지요청 PHP부분처리요청

배열과 for 문 이용 예제

1차원 배열 예제 (array a b c php)

1 : <?2 : for($i=0; $i<10; $i++) // $a 에 1 ~ 10 입력

1차원 배열 예제 (array_a_b_c.php)

2 : for($i 0; $i 10; $i ) // $a 에 1 10 입력3 : $a[$i] = $i+1;4 :5 : for($i=0; $i<10; $i++) // $b에 101 ~ 110 입력5 : for($i=0; $i<10; $i++) // $b에 101 ~ 110 입력6 : $b[$i] = $i+101;7 :8 for($i 0 $i<10 $i++) // $c에 $a와 $b의 합 입력8 : for($i=0; $i<10; $i++) // $c에 $a와 $b의 합 입력9 : $c[$i] = $a[$i] + $b[$i];10 :

$ $ $ 화면에 출력11 : for($i=0; $i<10; $i++) // 화면에 출력12 : echo "$a[$i] + $b[$i] = $c[$i]<br>";13 : ?>

406.426 Design & Analysis of Database System 44

Page 45: 406 426 Design & Analysis of Database System406.426 …1 웹브라우저 (인터넷익스플로러) 웹서버프로그램 (아파치) 2 4 5 PHP 1웹페이지요청 PHP부분처리요청

2차원 배열 예제

3명 학생 5과목 합계/평균 (array 2d avg php)

1 : <?2 : // 2차원 배열을 이용한 3명의 학생에 대한 5과목 합계와 평균

3명 학생 5과목 합계/평균 (array_2d_avg.php)

4: $s[0][0]=79; $s[0][1]=90; $s[0][2]=60; $s[0][3]=45; $s[0][4]=80; 10: $s[1][0]=80; $s[1][1]=90; $s[1][2]=90; $s[1][3]=99; $s[1][4]=89;16: $s[2][0]=45; $s[2][1]=85; $s[2][2]=90; $s[2][3]=99; $s[2][4]=84;22 : for($a=0; $a<3; $a++)23 : { $sum=0;26 : for($b=0; $b<5; $b++)

$ $ $ $ $28 : $sum=$sum+$s[$a][$b];30 :31 : $avg=$sum/5;32 $ t d t $ + 132 : $student_num = $a + 1;33 : echo("$student_num 번째 학생의 성적 => 합계 : $sum,

평균 : $avg <br>"); }35 : ?>

406.426 Design & Analysis of Database System 45

35 : ?>

Page 46: 406 426 Design & Analysis of Database System406.426 …1 웹브라우저 (인터넷익스플로러) 웹서버프로그램 (아파치) 2 4 5 PHP 1웹페이지요청 PHP부분처리요청

함수 정의 및 목적

함수 정의 : PHP 코드들의 집합으로써 어떤 역할을 수행하는 개체함수 정의 들의 집합 써 어떤 역할을 수행하는 개체

함수 사용 목적

재사용 : 하나의 함수를 만들어 놓으면 다음부터 그 함수를 계속해서

재사용을 할 수 있다. 예를 들어 평균을 구하는 부분을 하나의

함수로 만들어 놓으면 평균을 구하고 싶을 때마다 그 함수를함수로 만들어 놓으면 평균을 구하고 싶을 때마다 그 함수를

사용하면 된다. 모듈화 : 전체 프로그램의 복잡한 문제를 함수 내부의 문제로모듈화 : 전체 프로그램의 복잡한 문제를 함수 내부의 문제로

국한시켜 프로그램을 체계적으로 쉽게 프로그래밍을 해나갈 수

있게 만들어 준다.

406.426 Design & Analysis of Database System 46

Page 47: 406 426 Design & Analysis of Database System406.426 …1 웹브라우저 (인터넷익스플로러) 웹서버프로그램 (아파치) 2 4 5 PHP 1웹페이지요청 PHP부분처리요청

수학관련 함수

함수명 역할함수명 역할

abs( ) 절대치 구하기

cos( ) 삼각형의 코사인 값 구하기

date( ) 현재 날짜 구하기( ) 현재 날짜 구하기

ceil( ) 올림 값 구하기

floor( ) 내림 값 구하기

round( ) 반올림 값 구하기

log( ) 로그 값 구하기

( ) 최대 값 구하기

406.426 Design & Analysis of Database System 47

max( ) 최대 값 구하기

Page 48: 406 426 Design & Analysis of Database System406.426 …1 웹브라우저 (인터넷익스플로러) 웹서버프로그램 (아파치) 2 4 5 PHP 1웹페이지요청 PHP부분처리요청

반환 (retuen) 값이 없는 함수 예제

함수를 이용한 두 수의 합 (func plus 2num php)

1 : <?

함수를 이용한 두 수의 합 (func_plus_2num.php)

2 : function plus($a, $b)3 : {4 : $c = $a + $b;

함수 정의

$ $ $ ;5 : echo $c;6 : }7 : 함수 호출7 :8 : plus(10, 20);9 : echo "<br>";10 : plus(1000 3000);

함수 호출

10 : plus(1000, 3000);11 : ?>

406.426 Design & Analysis of Database System 48

Page 49: 406 426 Design & Analysis of Database System406.426 …1 웹브라우저 (인터넷익스플로러) 웹서버프로그램 (아파치) 2 4 5 PHP 1웹페이지요청 PHP부분처리요청

반환 (return) 값을 가지는 함수 예제

반환 값을 가지는 함수 예 (func plus 2num ret php )

1 : <?2 : function plus($a $b)

반환 값을 가지는 함수 예 (func_plus_2num_ret.php )

2 : function plus($a, $b)3 : {4 : $c = $a + $b;6 t $

함수 정의

6 : return $c;7 : }8 :9 : $result = plus(10, 20);10 : echo $result."<br>";11 :

함수 호출

12 : $result = plus(1000, 3000);13 : echo $result."<br>";14 : ?>

406.426 Design & Analysis of Database System 49

14 : ?

Page 50: 406 426 Design & Analysis of Database System406.426 …1 웹브라우저 (인터넷익스플로러) 웹서버프로그램 (아파치) 2 4 5 PHP 1웹페이지요청 PHP부분처리요청

함수 이용 정수 합계

함수를 이용하여 정수의 합계 구하기 (func hap php)

1 : <?2 : // hap($a $b) 함수는 $a에서 $b 까지의 합을 구한다

함수를 이용하여 정수의 합계 구하기 (func_hap.php)

2 : // hap($a, $b) 함수는 $a에서 $b 까지의 합을 구한다.3 : function hap($a, $b)4 : {5 : $sum=0;5 : $sum=0;6 : while($a <= $b)7 : { $sum=$sum+$a;9 : $a++; }9 : $a++; }11 : return $sum;12 : }14 : $from = 1;14 : $from 1;15 : $to = 10;17 : $total = hap($from, $to);18 : echo("$from 에서 $to 까지의 합은 $total 입니다.<br>");

406.426 Design & Analysis of Database System 50

( );19 : ?>

Page 51: 406 426 Design & Analysis of Database System406.426 …1 웹브라우저 (인터넷익스플로러) 웹서버프로그램 (아파치) 2 4 5 PHP 1웹페이지요청 PHP부분처리요청

Plaza 계정 신청

서울대 정보화포털 (http://portal.snu.ac.kr) 계정관리서울대 정 화 털 ( p p ) 계정관리

유료시스템신청 및 관리 에서 신청

신청한 ID와 동일한 입금명으로 계좌 입금

사용내역 및 입금 회 확인사용내역 및 입금조회 확인

* 서울대학교 Pl 서버 이외 개인 PC를 포함하여 어떠한 서버를* 서울대학교 Plaza 서버 이외 개인 PC를 포함하여 어떠한 서버를

사용해도 무방합니다.

406.426 Design & Analysis of Database System 51

Page 52: 406 426 Design & Analysis of Database System406.426 …1 웹브라우저 (인터넷익스플로러) 웹서버프로그램 (아파치) 2 4 5 PHP 1웹페이지요청 PHP부분처리요청

Plaza 시스템 접속

http://di.snu.ac.kr/courses/DB06/ Link에서 Zterm.ext 다운로드p 에서 다운

(이외 SSH Telnet이 지원되는 Telnet program 사용해도 무방)

406.426 Design & Analysis of Database System 52

Page 53: 406 426 Design & Analysis of Database System406.426 …1 웹브라우저 (인터넷익스플로러) 웹서버프로그램 (아파치) 2 4 5 PHP 1웹페이지요청 PHP부분처리요청

Index.html 만들기

PLAZA에 접속하면 자신의 Home directory로 들어가게 되는데, 홈페이지를 구성하기

위하여 가장 먼저 public_html 디렉토리를 만들고 index.html을 만들어야 한다.

방법 (또는 PC에서 작성하여 FTP로 업로드)$mkdir public_html$cd public html$ p _vi index.html

다음과 같이 작성하고 저장다음과 같이 작성하고 저장

<HTML><BODY><BODY>Welcome, My Name is XXX.</BODY></HTML>

406.426 Design & Analysis of Database System 53

Page 54: 406 426 Design & Analysis of Database System406.426 …1 웹브라우저 (인터넷익스플로러) 웹서버프로그램 (아파치) 2 4 5 PHP 1웹페이지요청 PHP부분처리요청

Index.html 만들기

http://plaza.snu.ac.kr/~아이디/index.html 접속p p 아이디 접속

406.426 Design & Analysis of Database System 54

Page 55: 406 426 Design & Analysis of Database System406.426 …1 웹브라우저 (인터넷익스플로러) 웹서버프로그램 (아파치) 2 4 5 PHP 1웹페이지요청 PHP부분처리요청

PHP와 Mysql 연동하기

PHPPHP MysqlMysql

1>mysql _ connect() : 연결2>mysql _ select _ db() : db 선택3>mysql _ query() : 테이블쿼리4>mysql fetch array()

kiny729

12

364>mysql _ fetch _array()쿼리한값을배열에저장5>echo() : 출력6>mysql _ close() : 종료

table table 3

y q _ ()

test content

45

testccomo

content좋다

1>mysql 서버에연결한다. ;mysql _ connect(); 2>mysql select db() : mysql안의 db를선택2>mysql _ select _ db() : mysql안의 db를선택3>mysql 안의 db안의테이블에서쿼리를수행한다. (mysql db의테이블에서데이터를입력/삭제하거나쿼리수행) : mysql _ query();4>쿼리수행한것을배열에저장해둔다. PHP에서사용할수있도록배열에저장

: mysql fetch array()사용

406.426 Design & Analysis of Database System 55

: mysql _ fetch _array()사용5>echo()나 print()를이용해서가져온값을찍는다. 모니터에표시한다.6>mysql서버에연결을종료한다.

mysql _ close() [메모리낭비방지]

Page 56: 406 426 Design & Analysis of Database System406.426 …1 웹브라우저 (인터넷익스플로러) 웹서버프로그램 (아파치) 2 4 5 PHP 1웹페이지요청 PHP부분처리요청

PHP와 Mysql 연동하기

$$host=“localhost”

$user=“kiny729”(plaza mysql id)

$password=“2082”(plaza mysql pw) PHP에서사용하는$db=“kiny729”(plaza mysql id)

$connect=mysql connect (“$host”, “$user”, “$password”);

PHP에서사용하는DB (Mysql)연동함수

$connect mysql _ connect ( $host , $user , $password );

mysql _ select _db (“$db”, $connect);

lt l (" t t bl di l "result = mysql _ query ("create table diary_plus"."(num int(3) not null auto _ increment primary key,".

"nal data, writer varchar(30),".“contents blob, pw tinytext,".

“ l t d i t(3))" $db)“related int(3))", $db);

db data-table생성함수

406.426 Design & Analysis of Database System 56

db data-table생성함수

Page 57: 406 426 Design & Analysis of Database System406.426 …1 웹브라우저 (인터넷익스플로러) 웹서버프로그램 (아파치) 2 4 5 PHP 1웹페이지요청 PHP부분처리요청

PHP와 Mysql 연동하기

<?$link = mysql _ connect (“localhost”, “root”, “root2”) or die(“연결할수없다.”);$result = mysql _ drop _ db(“zzz”, $link);if( $result ){

echo “디비삭제성공 “ ;삭 ;}else{

echo “실패”}mysql close ($link)y q _ ( )

?>

echo() : 화면에문자열을출력하는함수이다.()“ “안이나 (“ “)안에있는것을출력한다.

406.426 Design & Analysis of Database System 57

Page 58: 406 426 Design & Analysis of Database System406.426 …1 웹브라우저 (인터넷익스플로러) 웹서버프로그램 (아파치) 2 4 5 PHP 1웹페이지요청 PHP부분처리요청

MySql 관리 (phpMyAdmin)

406.426 Design & Analysis of Database System 58

Page 59: 406 426 Design & Analysis of Database System406.426 …1 웹브라우저 (인터넷익스플로러) 웹서버프로그램 (아파치) 2 4 5 PHP 1웹페이지요청 PHP부분처리요청

MySql 관리

Check http://di.snu.ac.kr/courses/DB07/pDatabase Modeling ToolsDBMS Management Tools (Web or C/S version)

406.426 Design & Analysis of Database System 59

Page 60: 406 426 Design & Analysis of Database System406.426 …1 웹브라우저 (인터넷익스플로러) 웹서버프로그램 (아파치) 2 4 5 PHP 1웹페이지요청 PHP부분처리요청

회원 가입 폼 만들기

<form name="signup" action="add_user.php" method="post" target="_blank">

sign_up.php

id : <input type="text" name="user_id" /> <br>

password :<input type="password" name="user_password" /> <br>

name : <input type="text" name="user name" /> <br>name : <input type text name user_name /> <br>

age : <input type="text" name="user_age" /> <br>

<input type="submit" name="formbutton1"> <br>

</f ></form>

406.426 Design & Analysis of Database System 60

Page 61: 406 426 Design & Analysis of Database System406.426 …1 웹브라우저 (인터넷익스플로러) 웹서버프로그램 (아파치) 2 4 5 PHP 1웹페이지요청 PHP부분처리요청

회원 가입 폼 만들기 cont.

add user php<?

$link = mysql connect("localhost" "root" "root2") or die("연결할 수 없습니다 ");

add_user.php

$link mysql_connect( localhost , root , root2 ) or die( 연결할 수 없습니다. );

//DB에 접속

mysql_select_db("testDB") or die('Could not select database');

//DB 선택

$ "i t i t ( id d )$query = "insert into user(user_id, user_password, user_name, user_age) values('".$user_id."', '".$user_password."', '".$user_name."', '".$user_age."')";

//query문 작성

l ($ ) di ('Q f il d: ' l ());mysql_query($query) or die('Query failed: ' . mysql_error());

//query문 실행

?>

<script language="javascript">

alert("회원가입이 완료되었습니다.");

window.close();

</script>

406.426 Design & Analysis of Database System 61

</script>

Page 62: 406 426 Design & Analysis of Database System406.426 …1 웹브라우저 (인터넷익스플로러) 웹서버프로그램 (아파치) 2 4 5 PHP 1웹페이지요청 PHP부분처리요청

회원 목록 보여주기

<? $link = mysql connect("localhost" "root" "root2") or die("연결할 수 없습니다 ");

show_users.php

<? $link mysql_connect( localhost , root , root2 ) or die( 연결할 수 없습니다. );

//DB에 접속

mysql_select_db("testDB") or die('Could not select database');

//DB 선택

$query = "select user_id, user_name, user_age from user";

//query문 작성

$result = mysql_query($query) or die('Query failed: ' . mysql_error());

//query문 실행

while ($row = mysql_fetch_array($result))

{{

echo "user_id : ".$row[1]." user_name : ".$row[2]." user_age : ".$row[3]."<br>";

}

//출력//출력

?>

406.426 Design & Analysis of Database System 62

Page 63: 406 426 Design & Analysis of Database System406.426 …1 웹브라우저 (인터넷익스플로러) 웹서버프로그램 (아파치) 2 4 5 PHP 1웹페이지요청 PHP부분처리요청

로그인

<form name = "loginform" action="login act.php" method="post">g g _ p p p<h3>Log In</h3><h4>Username:</h4><input type="text" name="user_id"/><h4>Password:</h4><input type="password" name="user pw"/><input type= password name= user_pw /><br><br><input type="submit">p yp

</form>

406.426 Design & Analysis of Database System 63

Page 64: 406 426 Design & Analysis of Database System406.426 …1 웹브라우저 (인터넷익스플로러) 웹서버프로그램 (아파치) 2 4 5 PHP 1웹페이지요청 PHP부분처리요청

로그인

<?session start( );session_start( );$conn = mysql_connect($host, $user, $pass) or die ('Error connecting to mysql');mysql_select_db(“testDB”);

$query = "SELECT user_id FROM user where user_id='$user_id' and password='$user_pw'";$result = mysql query($query);$result mysql_query($query);$success = null;if ($row = mysql_fetch_array($result, MYSQL_ASSOC)){

$success = $row[‘user_id'];} }mysql_close($conn);if (isset($success)) {

$_SESSION['session_user_id'] = $user_id;echo "<script>

document.location.href='/';</script>";

} else {echo "<script>

document.location.href='login_fail.php';</script>";

}?

406.426 Design & Analysis of Database System 64

?>

Page 65: 406 426 Design & Analysis of Database System406.426 …1 웹브라우저 (인터넷익스플로러) 웹서버프로그램 (아파치) 2 4 5 PHP 1웹페이지요청 PHP부분처리요청

로그인 여부 확인

<?if (isset($_SESSION['session_user_id'])) {

echo "로그인 되어있습니다";echo "<a href='logout.php'>logout</a>";

} else {echo "로그인 되어있지 않습니다";echo "<a href='login.php'>login</a>";

}?>

406.426 Design & Analysis of Database System 65

Page 66: 406 426 Design & Analysis of Database System406.426 …1 웹브라우저 (인터넷익스플로러) 웹서버프로그램 (아파치) 2 4 5 PHP 1웹페이지요청 PHP부분처리요청