PHP处理XForms

2024-01-10 39

在PHP中处理XForms,首先需要了解XForms是一种基于XML的表单设计语言,用于定义和描述Web应用程序中的表单。XForms 定义了传统 web 表单的变种,可以用于更广泛的平台和浏览器,甚至非传统的媒体,例如 PDF 文档。

一、XForms搜索表单

XFroms 的第一个关键区别是表单怎样发送到客户端。XForms for HTML Authors 包含如何创建 XForms 的详细说明。处于本教程的目的,将只看简单的示例。

简单的 XForms 搜索表单:

<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>

上面的表单显示一个文本输入框(名为 q)和一个提交按钮。当点击提交按钮,表单将被发送到 action 所指示的页面。

从 web 应用程序的角度来看,这就是看起来不同的地方。在普通的 HTML 表单中,数据将作为 application/x-www-form-urlencoded 发送,在 XForms 的世界中,该信息是以 XML 格式数据发送的。

二、填充$_POST

如果选择使用 XForms,这种情况下,肯定期望数据为 XML,查看 $HTTP_RAW_POST_DATA 将会找到包含由浏览器生成的 XML 文档,可以将其传递给喜欢的 XSLT 引擎或者文档解析器。

如果对格式不感兴趣,只想让数据加载到传统的 $_POST 变量中,只要将 method 属性修改为 urlencoded-post 就可以指示客户端浏览器将其作为 application/x-www-form-urlencoded 发送。

使用 XForm 来填充 $_POST:

<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>

注意:

  • 在编写本文档时,许多浏览器还不支持 XForms;
  • 如果上述例子失败,请检查自己的浏览器版本。
  • 广告合作

  • QQ群号:707632017

温馨提示:
1、本网站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。邮箱:2942802716#qq.com(#改为@)。 2、本站原创内容未经允许不得转裁,转载请注明出处“站长百科”和原文地址。
PHP处理XForms
上一篇: PHP HTTP认证