mirror of
https://github.com/sigmasternchen/php-doc-en
synced 2025-03-15 16:38:54 +00:00
New Documentation: Dealing with XForms
git-svn-id: https://svn.php.net/repository/phpdoc/en/trunk@151953 c90b9560-bf6c-de11-be94-00142212c4b1
This commit is contained in:
parent
f46de98880
commit
29ff31d864
1 changed files with 91 additions and 1 deletions
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- $Revision: 1.29 $ -->
|
||||
<!-- $Revision: 1.30 $ -->
|
||||
<chapter id="tutorial">
|
||||
<title>A simple tutorial</title>
|
||||
|
||||
|
@ -424,6 +424,96 @@ Hi Joe. You are 22 years old.
|
|||
<function>import_request_variables</function> function.
|
||||
</para>
|
||||
</sect1>
|
||||
|
||||
<sect1 id="tutorial.xforms">
|
||||
<title>Dealing with XForms</title>
|
||||
<para>
|
||||
<ulink url="&url.xforms;">XForms</ulink> defines a variation on traditional
|
||||
webforms which allows them to be used on a wider variety of platforms and
|
||||
browsers or even non-traditional media such as PDF documents.
|
||||
</para>
|
||||
<para>
|
||||
The first key difference in xforms is how the form is sent to the client.
|
||||
<ulink url="&url.xforms.htmlauthors;">XForms for HTML Authors</ulink>
|
||||
contains a detailed description of how to create XForms, for the purpose
|
||||
of this tutorial we'll only be looking at a simple example.
|
||||
</para>
|
||||
<example>
|
||||
<title>A simple XForms search form</title>
|
||||
<screen>
|
||||
<![CDATA[
|
||||
<h:html xmlns:h="http://www.w3.org/1999/xhtml"
|
||||
xmlns="http://www.w3.org/2002/xforms">
|
||||
<h:head>
|
||||
<h:title>Search</h:title>
|
||||
<model>
|
||||
<submission action="http://example.com/search"
|
||||
method="post" id="s"/>
|
||||
</model>
|
||||
</h:head>
|
||||
<h:body>
|
||||
<h:p>
|
||||
<input ref="q"><label>Find</label></input>
|
||||
<submit submission="s"><label>Go</label></submit>
|
||||
</h:p>
|
||||
</h:body>
|
||||
</h:html>
|
||||
]]>
|
||||
</screen>
|
||||
</example>
|
||||
<para>
|
||||
The above form displays a text input box (named <parameter>q</parameter>),
|
||||
and a submit button. When the submit button is clicked, the form will be
|
||||
sent to the page referred to by action.
|
||||
</para>
|
||||
<para>
|
||||
Here's where it starts to look different from your web application's point
|
||||
of view. In a normal HTML form, the data would be sent as
|
||||
application/x-www-form-urlencoded, in the XForms world however, this information
|
||||
is sent as XML formatted data.
|
||||
</para>
|
||||
<para>
|
||||
If you're choosing to work with XForms then you probably want that data as
|
||||
XML, in that case, look in $HTTP_RAW_POST_DATA where you'll find the XML
|
||||
document generated by the browser which you can pass into your favorite
|
||||
XSLT engine or document parser.
|
||||
</para>
|
||||
<para>
|
||||
If you're not interrested in formatting and just want your data to be loaded
|
||||
into the traditional $_POST variable, you can instruct the client browser
|
||||
to send it as application/x-www-form-urlencoded by changing the
|
||||
<parameter>method</parameter> attribute to <emphasis>urlencoded-post</emphasis>.
|
||||
</para>
|
||||
<example>
|
||||
<title>Using an XForm to populate $_POST</title>
|
||||
<screen>
|
||||
<![CDATA[
|
||||
<h:html xmlns:h="http://www.w3.org/1999/xhtml"
|
||||
xmlns="http://www.w3.org/2002/xforms">
|
||||
<h:head>
|
||||
<h:title>Search</h:title>
|
||||
<model>
|
||||
<submission action="http://example.com/search"
|
||||
method="urlencoded-post" id="s"/>
|
||||
</model>
|
||||
</h:head>
|
||||
<h:body>
|
||||
<h:p>
|
||||
<input ref="q"><label>Find</label></input>
|
||||
<submit submission="s"><label>Go</label></submit>
|
||||
</h:p>
|
||||
</h:body>
|
||||
</h:html>
|
||||
]]>
|
||||
</screen>
|
||||
</example>
|
||||
<note>
|
||||
<simpara>
|
||||
As of this writing, many browsers do not support XForms.
|
||||
Check your browser version if the above examples fail.
|
||||
</simpara>
|
||||
</note>
|
||||
</sect1>
|
||||
|
||||
<sect1 id="tutorial.oldcode">
|
||||
<title>Using old code with new versions of PHP</title>
|
||||
|
|
Loading…
Reference in a new issue