我正在使用 Joomla 3.4。
我使用标准的 Joomla 方式来获取参数。
让我们假设 url 包含
注册?公司=ZITO%20MEDIA,%20LP
根据 Joomla 标准代码
$config = new JConfig();
$jinput = JFactory::getApplication()->input;
echo $jinput->get->get('company');
结果:ZITOMEDIALP
但是如果我把代码改成标准的php代码
echo $_GET['company'];
结果:ZITO MEDIA, LP
我想使用 joomla 代码,因为我在 joomla 项目上工作,但这不是我想要的。
有任何想法吗?它也发生在 POST 变量上。
最佳答案
根据 documentation ,JInput 默认情况下应用“cmd”过滤器,它基本上去除了不是 a-z 的任何内容。
您应该应用所需的过滤器,例如"int", "string", "word", ... 使用以下语法:
$jinput->get('varname', 'default_value', 'filtername');
大多数过滤器还有一个速记方法,例如下面两行代码是等价的:
$jinput->get('varname', 'default_value', 'string');
$jinput->getString('varname', 'default_value');