쉬-짠2


<form> tag


CGI 와 연결시켜 사용할 때 cgi 에게 넘여줄 값들이나 방식등을 정의하는 tag 입니다.
예제부터 볼까요?

<form method="post" action="run.php3">

# method
cgi 에게 값을 넘길 방법을 정의합니다. 이 방법에는 크게 get 과 post 가 있지요.

get 은 보통 적은 양의 정보를 보낼 때 사용됩니다.
또 특징이라면 get 으로 넘겨준 값은 웹 브라우저의 주소창에 주루룩 나오죠. 어떤 홈페이지 게시판에
들어가면 주소창에 주소가

board.php3?board=plaza&mode=list&page=2

이렇게 복잡하죠? 여기서 & 단위로 분리해서 볼 때 앞의 것은 폼 변수명이고 =(등호) 뒤의 것은 변수에
저장될 내용입니다. board=plaza 라고 하면 폼 변수에 plaza 를 저장하고, mode=list 라고 하면
mode 폼 변수에 list 를 넣는거죠.

그에 비해 post 는 많은 양을 처리할 때 쓰입니다.
특징으로는 get 과는 달리 주소창에 변수나 그런게 나타나지 않습니다.
보안이 필요하거나 혹은 게시물을 입력할 때 쓰이면 되겠죠?


# action
실행시킬 cgi 경로를 지정합니다. url 식의 웹 경로도 가능하고 절대 경로(서버상의 위치 경로)도 가능하죠.

<input> tag

입력 태그입니다. 글 입력 등을 처리할 수 있죠.
독특한 것은 이것을 화면 상에 출력하지 않고 숨겨줄 수도 있습니다. 자 ~ 자세히 알아볼까요? 물론
예제를 보고 자세히 뜯어보도록 하죠.

<input type="text" name="fil[name]" value="디망쉬">

# type
입력 형태를 지정합니다. text 이라고 하면 일반 텍스트 형태로 입력 폼이 출력되죠. password 라고
하면 우리가 보통 비밀 번호 입력할 때 입력한 것대신 * (백설표/별표)로 출력되는 것처럼 된답니다.

type 에 submit 라고 하면 입력 폼 대신 입력 버튼이 됩니다. 보통 글 입력 버튼으로 쓰이죠. reset 으로
하면 웹 브라우저에서(Internet Explorer 에의 경우) ESC 키를 누른 것과 동일합니다. 하던 작업이 취소되죠.
만약 <form> tag 에서 action 등을 지정했다면 submit 버튼을 누를 경우 <form> 와 </form> 사이의
데이터가 action 에 지정된 cgi 로 전송되지요.

cgi 로 데이터를 보내려는데 유저가 건들지 않을 데이터를 함께 첨부하고 싶습니다. 그런데 type 을
text 로 하자니 껄꺼럽고. 그럴 때는 type 을 hidden 으로 하면 된답니다. 이러면 해당 값은 화면에 출력되지
않고 숨겨진채(화면에 안보인채) cgi 로 값이 넘어가죠.

마지막으로 password 가 있답니다. 어떠한 것에 회원 인증을 할 때 비밀 번호를 요구하죠? 이때
비밀 번호를 치면 우리가 치는 내용 대신 *(별표)가 대신 출력되지요. <input> tag 에서도 그런 것을
password type 으로 함으로서 가능합니다.


# name
간단히 말하면 변수명입니다. 우리가 입력하거나 지정된 어떠한 값을 cgi 로 보내는데 이 데이터의
이름을 cgi 가 모른다면 cgi 는 이 값들을 서로 구분짓지 못하게 됩니다. 그래서 이름을 붙여주는
거죠. 즉 변수명입니다. 필수지여. :] 제 강좌에서는 편의상 폼 변수라는 이름으로 쓰이고 있습니다.


# value
기본값이라고 생각하시면 간편합니다. <input> tag 에서 내용을 이용자가 직접 입력할 수도 있지만
기본적으로 어떠한 값을 넣어주면 편리할 경우가 있을 것입니다. 예를 들면 홈페이지를 기입하는
입력란에 http:// 는 거의 대부분 공통이기 때문에

<input type="text" value="http://">

라고 해주면 기본적으로 위의 입력란에는 http:// 가 입력되어 있습니다.
물론 reset 을 하거나 esc 키를 눌러도 입력되어 있죠. 항상 기본값으로 들어가있으니.

 

 






Copyright(c) 2001, 수퍼유저코리아 All Rights Reserved.
서버구축(운용)상담 : e-mail : webmaster@superuser.co.kr