IT서적/HTML&CSS 웹사이트 개발과 디자인 기초

HTML&CSS 웹사이트 개발과 디자인 기초_7장 폼(Form)

(범) 2022. 4. 5. 09:10

7. 폼(Form)


전통적으로 '폼'이라는 용어는 정보를 기입하는 부분이 있는 인쇄된 문서를 의미한다.

 

'구글폼'을 통하여 다양한 정보를 수집 받을 수 있다.

폼 컨트롤이란?


사이트 방문자로부터 정보를 수집하는데 사용되는 다양한 입력 유형.

 

예)

텍스트 입력: 텍스트 입력(한 줄), 패스워드 입력, 텍스트 영역(여러 줄)

선택: 라이도 버튼, 체크박스, 드롭다운 박스

폼 전송: 전송 버튼, 이미지 버튼

파일 올리기: 파일 업로드

폼의 동작 방식


1. 사용자가 폼을 입력한 후에 버튼을 누르면 정보가 서버에 전송된다.

2. 각 폼 컨트롤의 이름은 사용자가 입력하거나 선택한 값과 함께 서버에 전송된다.

3. 서버는 PHP, C#, 자바 같은 프로그래밍 언어를 이용하여 정보를 처리한다. 대부분 정보는 DB에 저장된다.

4. 서버는 수신한 정보를 토대로 브라우저로 보낼 새로운 페이지를 만든다.

 

입력된 데이터들을 분류하기 위해 이름/값 쌍을 이용해 브라우저에서 서버로 전송된다. 

 

폼 구조


<Form>에는 항상 action속성이 있으며, 대체로 method, id속성도 함께 지정한다.

 

action

전송 시 폼에 있는 정보를 수신할 서버페이지의 URL.

method

get/post 둘 중 하나이며, 폼을 전달하는 방식.

 

get방식을 사용하면 폼에 있는 값은 action 속성에 지정한 URL 끝에 추가된다. 

get은 다음과 같은 경우 사용한다.

- 간단한 폼(예, 검색 박스)

- 단순히 웹 서버로부터 데이터를 조회하는 경우(DB에 추가 혹은 삭제할 필요가 없는 경우)

 

post방식을 사용하면 전송 값은 HTTP 헤더에 추가된다.

post는 일반적으로 다음과 같은 경우 사용한다.

- 파일을 올리는 경우

- 전송 데이터가 매우 긴 경우

- 민감한 데이터가 포함된 경우(예, pw)

- DB에 정보를 추가 혹은 삭제할 경우

 

method를 지정하지 않으면 자동으로 get방식을 이용한다.

id

폼을 식별하는데 사용.

 

<input> 폼 컨트롤


텍스트 입력 / 패스워드 입력

 

size:새로운 폼에서 size는 사용하지 않는다. 요즘은 폼 요소의 너비를 css를 통해 제어한다.

maxlength: 문자의 수를 제한. 연도(2022)의 경우 속성 값을 4로 지정.

보안: 완전한 보안을 위해 SSL을 사용하여 사용자의 브라우저와 통신해야 한다.

 

전송버튼


value: submit의 value값은 자동으로 '전송'이지만 브라우저마다 표현방식이 다르다. 그러므로 가급적 value 값을 꼭 지정해주여야 한다.

 

레이블 붙이기


label: <label> 요소는 두 가지 방식으로 사용 가능하다.

1. 텍스트 설명과 폼 입력을 모두 포함하는 방식

예) <label><input /></label>

2. 폼 컨트롤에서 분리한 다음 for 속성을 사용하여 레이블을 붙일 폼 컨트롤을 지정하는 방식

예> <input id="abc"/ ><label for="abc">~ </label>