2024年波兰PHPC

处理XForms

»XForms定义了传统的变体允许在更广泛的平台和浏览器甚至非传统媒体,如PDF文档。

XForms的第一个关键区别是如何将表单发送到客户端。»HTML作者的XForms包含如何创建XForms的详细描述在本教程中,我们只看一个简单的示例。

示例#1一个简单的XForms搜索表单

<h:html-xmlns:h=“http://www.w3.org/1999/xhtml"xmlns=“http://www.w3.org/2002/xforms"><h:头部><h:title>搜索<型号><提交操作=“http://example.com/search"method=“post”id=“s”/></型号></h:头部><h:车身><小时:小时><input ref=“q”><label>查找</label><submit submission=“s”><label>转到</label></submit></h:p></h:body(车身)></h:html>

上面的表单显示一个文本输入框(命名为q个),和提交按钮。单击提交按钮时,表单将发送到由引用的页面行动.

这里是它开始与您的web应用程序不同的地方查看。在正常的HTML表单中,数据将被发送为应用程序/x-www-form-urlencoded,在XForms世界中然而,此信息以XML格式格式化数据。

如果您选择使用XForms,那么您可能希望该数据作为XML格式那样的话,进去看看$HTTP_RAW_POST_DATA(美元)哪里你会发现XML格式可以传递的浏览器生成的文档成为你的最爱XSLT(XSLT)引擎或文档解析器。

如果您对格式化不感兴趣,只想加载数据融入传统$_POST(发送)变量,您可以指示将其发送为的客户端浏览器应用程序/x-www-form-urlencoded通过更改方法属性到urlencoded-post(urlencoded柱).

示例#2使用XForm填充$_POST(发送)

<h:html-xmlns:h=“http://www.w3.org/1999/xhtml"xmlns=“http://www.w3.org/2002/xforms"><h:头部><h:title>搜索<型号><提交操作=“http://example.com/search"method=“urlencoded-post”id=“s”/></型号></h:头部><h:车身><小时:小时><input ref=“q”><label>查找</label><submit submission=“s”><label>开始</label></submit></h:p></h:body(车身)></h:html>

注释:截至本文撰写之时,许多浏览器都不支持XForms。如果上述示例失败,请检查您的浏览器版本。

添加注释

用户贡献的笔记4条注释

联系jimmajammalulu网站
3年前
据MDN称,XForms早已过时。
lphuberdeau在phpquebec dot org
19年前
由于HTTP_RAW_POST_DATA需要生成配置,并且未启用默认值,因此您可能必须使用PHP STDIN流来获取原始数据。使用这种方法可能更好,因为即使不需要,也不会每次都生成原始数据。

<?php(电话)
每秒$fp
=fopen公司("php://标准输入",“r”);
$数据='';
同时(!
费夫(每秒$fp) )
$数据.=fgets公司(每秒$fp);
f关闭(每秒$fp);
?>
猎户座I
18年前
FireFox有一个XForms插件,可以与最新的夜间构建一起使用。结账http://www.mozilla.org/projects/xforms/了解更多信息。为了支持IE,Novell提供了一个ActiveX控件(http://developer.novell.com/xforms/)还有一个来自x-port.net(http://www.formsplayer.com/).

还有一种基于JavaScript的FormFaces,看起来很有前途,特别是因为它不需要插件,并且可以在IE、FF和Opera中工作:网址:http://www.formfaces.com/
Darkener守护进程EX
18年前
"php://标准输入“在我的PHP版本中不存在。我使用以下代码块:
<?php(电话)
if(!is设置($HTTP_RAW_POST_DATA(美元)))
$HTTP_RAW_POST_DATA(美元)=文件获取内容("php://输入");
?>
到顶部