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