Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Joomla组件中处理表单输入_Joomla - Fatal编程技术网

在Joomla组件中处理表单输入

在Joomla组件中处理表单输入,joomla,Joomla,我正在创建一个Joomla组件,其中一个页面包含一个表单,其中包含一个电子邮件地址的文本输入。 在输入字段中键入input->getCmd('field') 我还尝试了getCmd的替代方案,如getVar,getString等,但没有成功 例如,johndoe只返回johndoe 当值输入正确。 我可以做些什么来在posted变量中也包含

我正在创建一个Joomla组件,其中一个页面包含一个表单,其中包含一个电子邮件地址的文本输入。 在输入字段中键入
input->getCmd('field')
我还尝试了
getCmd
的替代方案,如
getVar
getString
等,但没有成功

例如,
johndoe
只返回johndoe

值输入正确。 我可以做些什么来在posted变量中也包含<字符


顺便说一句,我不得不使用<;在这个问题中,我希望显示它。此表单存在相同的问题

默认文本过滤器从字段的输入中修剪html。您应该设置属性

filter="raw"

在表单的清单(xml)文件中,然后使用
getRaw()
检索该值。getCmd删除非字母数字字符。

在获取输入时,实际上需要设置所需的筛选。否则,您将得到一些重过滤。(通常,我还会丢失
@
符号。)

替换此行:

JFactory::getApplication()->input->getCmd('field');
JFactory::getApplication()->input->getRaw('field');
这一行:

JFactory::getApplication()->input->getCmd('field');
JFactory::getApplication()->input->getRaw('field');
函数的
get
部分后面的名称是您将使用的筛选
Cmd
除去字母数字字符和
-
之外的所有字符<代码>字符串将通过joomla的html清除标记功能运行,并根据您的设置清除
。(这通常不会发生在我身上,但我的设置通常非常开放,不会对超级管理员等进行过滤


getRaw
肯定可以工作,但请注意,根本没有过滤,这会在应用程序中打开安全漏洞。

Joomla的哪个版本?还显示表单的XML和PHP?Oops。这在两句话中是未知的。这是我的第一个组件,我阅读了基本介绍。在其中一个任务中,我重复了纯html格式的表单。我的问题是发布的文本输入。这与我的组件xml文件有什么关系?我是否必须在文件部分后面添加类似filter=“raw”的内容?好的,我认为表单是由Joomla生成的。然后你没有自动筛选集,你只需要使用getRaw(),你应该得到插入的值