2. FORM
• HTML의 태그 중에 하나
• <FORM>…</FORM>
• 사용자로부터 값을 입력 받을 수 있는 방법
• 하위 Form 요소에 대한 콘테이너
<FORM NAME="폼이름"
ACTION="데이터를 보낼 주소"
METHOD="전송방식“
ENCTYPE=“암호화방식”>
하위 FORM 요소
</FORM>
한림대학교 웹데이터베이스 - 이윤환
3. FORM
Form 태그의 속성.
• NAME : HTML 문서 내에서 구별지을 이름
• ACTION
• 사용자가 입력한 폼 정보를 전달할 주소를 지정하는 항목.
• 데이터를 전달받는 주소는 반드시 PHP와 같은 서버 스크립트 파
일이어야 함.
• METHOD
• 데이터를 전달하는 방식을 정의
• POST와 GET 방식이 있음.
• POST : HTTP 바디(Body)에 데이터를 실어 보냄.
• GET : URL을 통해 데이터를 전달.
• ENCTYPE
• 폼 데이터의 인코딩(encoding) 방법 지정.
• 데이터 전송 방식이 POST일 경우에만 적용됨.
• application/x-www-form-urlencoded 와 multipart/form-data 두 가
지 종류가 있음.
한림대학교 웹데이터베이스 - 이윤환
4. FORM : GET VS. POST
GET 방식 : URL로 전달 (길이 제약)
• 파일 이름 다음에 물음표(?) 기호를 사용하여 “?변수명=전달될 값”
과 같은 방식으로 동작.
• ex: /index.php?name=brown
• 두 개 이상의 값을 전달하고자 할 때는 & 기호를 통해 전달.
• ex: ?name=brown&homepage=http://ezphp.net
POST 방식 : REQUEST BODY를 통해 전달
• 데이터의 길이에 대한 제약이 없어 매우 큰 용량의 정보 전송 시 사
용 가능.
• PHP 설정에서 POST 방식으로 전송할 수 있는 크기를 제한하
고 있음.
• php.ini 파일에서 max_post_size 값을 조절하여 제한을 변경
할 수 있음.
한림대학교 웹데이터베이스 - 이윤환
6. FORM 하위 요소 : <INPUT>
Text Type
• 한 줄짜리의 Text 입력상자를 만든다(최대 255자).
• <INPUT TYPE="text" NAME="email" VALUE="id@domain"
SIZE="40" MAXLENGTH="50">
• NAME : 전달될 Form의 이름(전달받는 PHP File에서는 변수명이된
다.)
• VALUE : 초기값
• MAXLENGTH : 최대길이
• SIZE : 박스의 길이
PASSWORD
• Text와 동일하나 입력시 문자열이 ***로 나타난다.
• Example : inputPwd.html
한림대학교 웹데이터베이스 - 이윤환
7. FORM 하위 요소 : <INPUT>
HIDDEN
• Browser에는 나타나지 않으며 미리 정한 값이
전달된다.
• Source 보기로는 나타난다.
SUBMIT
• Form이 전달된다.
RESET
• 입력한 Form의 값을 모두 지운다.
한림대학교 웹데이터베이스 - 이윤환
8. FORM 하위 요소 : <INPUT>
RADIO
• 여러 개의 선택요소중 한 개만 선택한다.
<INPUT TYPE=“RADIO” NAME=“gender” VALUE="M"
checked>남성
<INPUT TYPE=“RADIO” NAME=“gender” VALUE="F"> 여성
• checked : 기본 선택 값에 붙힌다.
• 여러 개의 구성요소는 동일한 NAME을 통해
Group이 이루어 지고 실제 전달되는 값은
VALUE에 의한 값이 전달된다.
• Example : inputRadio.html
한림대학교 웹데이터베이스 - 이윤환
9. FORM 하위 요소 : <INPUT>
CHECKBOX
• 여러 개의 구성요소를 선택하는 데 사용한다.
<INPUT TYPE=“CHECKBOX” NAME=“check1” VALUE=“win98”
checked> win98
<INPUT TYPE=“CHECKBOX” NAME=“check2”
VALUE=“win2k”> win2k
• NAME이 동일할 경우 나중에 선택된 변수만 선택이 된다.
• Checkbox는 사용자가 어떤 것을 선택할 지 모르므로 어떤 값
을 선택했는지 알려면 어떻게 해야 할까?
• 다음 예제를 강의 보조 자료에서 확인바랍니다.
• Example : check-from.php, check.php
한림대학교 웹데이터베이스 - 이윤환
10. FORM 하위 요소 : <TEXTAREA>
TEXTAREA
• 여러줄에 걸친 Text를 입력받는다.
<TEXTAREA NAME="comment" ROWS="4"
COLS="30" >기본값</TEXTAREA>
• ROWS : Text 입력 상자의 줄 수
• COLS : Text 입력 상자의 열 수
• Example : inputTextArea.html
한림대학교 웹데이터베이스 - 이윤환
11. FORM 하위 요소 : <SELECT>
SELECT
• 여러 개의 구성 요소중 선택한다.
• 구성 요소는 <option>을 이용하여 지정한다.
• 전달되는 것은 역시 value의 값이 전달
<select name="age">
<option value="10">10 - 20세 사이</option>
<option value="20" selected>21 - 30세 사이
</option>
</select>
• SELECTED : 미리 선택된 요소
• Example : inputSelect.html
한림대학교 웹데이터베이스 - 이윤환
12. 배열
“변수 보따리”
• PHP 프로그래밍에서 유용하게 사용할 수 있는 자료형.
- PHP에서는 다양한 배열 함수가 제공되어 편리함.
• 하나 이상의 데이터를 저장할 수 있음.
<?php
- 배열 속에 배열을 다시 저장할 수 있음. $a[0]="abc";
$a[1] ="def";
$b["foo"]=13;
?>
배열의 구조
• 기존 변수 이름 뒤에 “[인덱스]”를 덧붙인 모양을 가짐.
• 하나의 변수 이름에 여러 가지의 값을 가지기 때문에 “배열의 몇 번째 값”과
같은 뜻의 인덱스를 사용함.
• 두 값의 구분은 [0],[1] 등으로 몇 번째에 저장되어 있는지를 표기하여 구분.
• 숫자 인덱스를 사용하지 않고 사용자가 지정한 구분자를 두어 배열
의 값을 구분할 수 있음
한림대학교 웹데이터베이스 - 이윤환
14. 배열
배열의 종류
• 일반 배열(Index사용 : 숫자에 의한 접근)
• 할당 : $fruit = array(“사과”, “배”, “복숭아”, “딸기”);
• 사용 : $fruit[0];
• 연관 배열(Key 사용 : 문자열로 접근)
• 할당 : $phone = array(“home” => “123-4567”, “office” =>
“765-4321”);
• 사용 : $phone[“home”];
• Example : arrex.php
관련 함수
• array array ( [mixed ...])
• bool print_r ( mixed expression [, bool return] )
• Example : print_r.php
한림대학교 웹데이터베이스 - 이윤환
15. 배열 관련 함수
http://www.php.net/manual/en/ref.array.php
정렬하기 : 낮은 값에서 높은 값으로 정렬
• sort : 배열의 값에 따라 정렬한다.
• bool sort ( array &array [, int sort_flags] )
• sort_flags는 PHP4 부터 추가된 상수로 다음과 같다.
• SORT_REGLUAR : 일반적인 방법으로 원소 비교(자료형을 바꾸지 않
는다.)
• SORT_NUMERIC : 숫자형으로 비교
• SORT_STRING : 문자열형으로 비교
• 정렬을 한 후의 Index는 값의 순서에 맞춰진다.
• asort : 연관 배열의 값에 따라 정렬한다.
• bool asort ( array &array [, int sort_flags] )
• 정렬을 한 후의 Key는 값이 원래 가지고 있는 key를 유지한다.(키와
데이터의 연관성 유지)
한림대학교 웹데이터베이스 - 이윤환
16. 배열 관련 함수
• ksort : 연관배열의 Key에 따라 정렬한다.
• bool ksort ( array &array [, int sort_flags] )
• 키와 데이터의 연관성 유지
• Ex. sort.php
• 다음의 코드를 실행 시키면 어떤 결과가 나오리라 예상되나?
• 본인의 예상과 일치하는지 반드시 강의보조자료를 통해 확인하기바
랍니다.
<?php
$arr = array(“orange”, “apple”, “lemon”);
$arr2 = array(“yellow”=>”lemon”, “red”=>”apple”,
“orange”=>”orange”);
print_r($arr);
print_r(sort($arr));
print_r($arr2);
print_r(asort($arr2));
print_r($arr2);
print_r(ksort($arr2));
?>
한림대학교 웹데이터베이스 - 이윤환
17. 배열 관련 함수
배열 재배치
• shuffle : 배열을 임의대로 섞는다.
• bool shuffle ( array &array )
• 임의로 배열을 섞기 위해 PHP 4.2.0 미만에서는 srand()와 mt_srand()
를 이용해서 난수값 생성기를 초기화하여야 하나 4.2.0 이상부터는
난수값 생성기 초기화.
• array_reverse : 배열을 받아서 역순으로 저장한 배열 반환.
• array array_reverse ( array array [, bool preserve_keys] )
• preserve_key가 TRUE일 경우 키를 보존한다.
• 인덱스를 0, 1, 2를 가지는 배열을 array_reverse(배열명, TRUE)라
고 하면 인덱스도 2, 1, 0 이런 식으로 역순으로 갖는다.
• array_flip : 배열의 키와 해당 값을 서로 바꾼 배열 반환.
• array array_flip ( array trans )
• 키와 값을 바꿀때 서로 같은 값이 있는 배열의 경우 충돌이 일어나게
되고 가장 마지막에 바꾼 것만 결과로 남는다.
한림대학교 웹데이터베이스 - 이윤환
18. 배열 관련 함수
배열의 기본 정보
• count : 배열의 원소의 개수를 반환한다.
• int count ( mixed var [, int mode] )
• http://www.php.net/manual/pt_BR/function.count.php
• array_keys : 배열의 모든 키를 배열로 반환한다.
• array array_keys ( array input [, mixed search_value] )
• http://www.php.net/manual/pt_BR/function.array-keys.php
• array_values : 배열의 모든 값들을 반환한다.
• array array_values ( array input )
• http://www.php.net/manual/pt_BR/function.array-values.php
• Ex. array_info.php
한림대학교 웹데이터베이스 - 이윤환
19. 배열 관련 함수
배열 탐색 함수
• current : 현재의 배열 커서(포인터)가 가리키는 원소 반환
• http://www.php.net/manual/pt_BR/function.current.php
• reset : 배열의 내부 포인터(커서)를 처음으로 이동하고 값 반환
• http://www.php.net/manual/pt_BR/function.reset.php
• end : 배열의 내부 포인터를 가장 끝 원소로 이동하고 값 반환
• http://www.php.net/manual/pt_BR/function.end.php
• prev : 배열의 내부 포인터를 이전 원소로 이동시키고 해당 원소의
값 반환
• http://www.php.net/manual/pt_BR/function.prev.php
• next : 배열의 내부 포인터를 다음 원소로 이동시키고 해당 원소의
값 반환
• http://www.php.net/manual/pt_BR/function.next.php
• Ex. array_walking.php
한림대학교 웹데이터베이스 - 이윤환