PHP 매뉴얼
이전 | 2. 장. 간단한 튜토리얼 | 다음

# XForms 다루기

XForms는 전통적인 웹 폼에 다양성을 부여합니다. 다양한 플랫폼과 브라우저, 심지어 비전통적인 매체인 PDF 문서에서도 사용할 수 있습니다.

XForms의 첫번째 차이는 클라이언트에 폼을 전송하는 방법입니다. HTML 저작자를 위한 XForms에 XForms를 작성하는 자세한 설명이 있습니다. 이 튜토리얼에서는 간단한 예제만을 살펴봅니다.

예 2-8. 간단한 XForms 검색폼

    <h:html xmlns:h="http://www.w3.org/1999/xhtml"
            xmlns="http://www.w3.org/2002/xforms">
    <h:head>
        <h:title>검색</h:title>
        <model>
            <submission action="http://example.com/search"
                        method="post" id="s"/>
        </mode>
    </h:head>
    <h:body>
        <h:p>
            <input ref="q"><label>찾기</label></input>
            <submit submission="s"></label>Go</label></submit>
        </h:p>
    </h:body>
    </h:html>

위 폼은 (`q`로 이름 붙여진) 텍스트 입력 상자와 제출 버튼을 표시합니다. 제출 버튼을 클릭하면, 폼은 action에 지정한 페이지로 넘어갑니다.

여기서부터 웹 어플리케이션의 시점에서 차이가 납니다. 일반 HTML 폼에서는 데이터가 application/x-www-form-urlencoded로 전송되지만, XForms에서는 이 정보가 XML 형식의 데이터로 전송됩니다.

XML 데이터를 위해서 XForms를 선택한다면, 이 경우 브라우저가 생성한 XML 데이터는 $HTTP_RAW_POST_DATA에서 찾을 수 있고, 이를 선호하는 XSLT 엔진이나 문서 처리기로 넘길 수 있습니다.

형식화에 관심이 없고, 데이터를 전통적인 $_POST 변수로 읽고 싶다면, `method` 속성을 urlencoded-post로 변경하여 클라이언트 브라우저가 application/x-www-form-urlencoded로 보내도록 할 수 있습니다.

예 2-9. XForms가 $_POST를 만들도록 사용하기

    <h:html xmlns:h="http://www.w3.org/1999/xhtml"
            xmlns="http://www.w3.org/2002/xforms">
    <h:head>
        <h:title>검색</h:title>
        <model>
            <submission action="http://example.com/search"
                        method="urlencoded-post" id="s"/>
        </mode>
    </h:head>
    <h:body>
        <h:p>
            <input ref="q"><label>찾기</label></input>
            <submit submission="s"></label>Go</label></submit>
        </h:p>
    </h:body>
    </h:html>

> 참고: 이 글이 쓰여진 시점에서, 많은 브라우저가 XForms를 지원하지 않습니다. 위 예제가 실패한다면, 브라우저의 버전을 확인해 보십시오.

이전 | 처음으로 | 다음
폼 다루기 | 위로 | 새 버전의 PHP에서 예전의 코드를 사용하기