我正在使用Joomla 3.4。 我使用标准的Joomla方式来获取GET参数。 让我们假设网址包含 立即登记?公司= 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变量。
答案 0 :(得分:6)
根据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');
答案 1 :(得分:2)
更改
$jinput = JFactory::getApplication()->input;
echo $jinput->get->get('company');
到
$jinput = JFactory::getApplication()->input;
echo $jinput->getString('company', 'default_value');
也使用默认值,以便能够处理缺少参数的情况。