Joomla Get/POST 参数忽略字符串中的白色 space
Joomla Get/POST parameters ignoring white space in string
我正在使用 Joomla 3.4。
我正在使用标准的 Joomla 方式来获取参数。
让我们假设 url 包含
signup?company=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 变量也是如此。
改变
$jinput = JFactory::getApplication()->input;
echo $jinput->get->get('company');
至
$jinput = JFactory::getApplication()->input;
echo $jinput->getString('company', 'default_value');
也使用默认值,以便能够处理缺少参数的情况。
根据 documentation,JInput 默认应用 "cmd" 过滤器,该过滤器基本上会去除非 a-z 的内容。
您应该应用所需的过滤器,例如"int"、"string"、"word"、……语法如下:
$jinput->get('varname', 'default_value', 'filtername');
对于大多数过滤器还有一个shorthand方法,例如下面两行代码是等价的:
$jinput->get('varname', 'default_value', 'string');
$jinput->getString('varname', 'default_value');
我正在使用 Joomla 3.4。 我正在使用标准的 Joomla 方式来获取参数。 让我们假设 url 包含 signup?company=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 变量也是如此。
改变
$jinput = JFactory::getApplication()->input;
echo $jinput->get->get('company');
至
$jinput = JFactory::getApplication()->input;
echo $jinput->getString('company', 'default_value');
也使用默认值,以便能够处理缺少参数的情况。
根据 documentation,JInput 默认应用 "cmd" 过滤器,该过滤器基本上会去除非 a-z 的内容。
您应该应用所需的过滤器,例如"int"、"string"、"word"、……语法如下:
$jinput->get('varname', 'default_value', 'filtername');
对于大多数过滤器还有一个shorthand方法,例如下面两行代码是等价的:
$jinput->get('varname', 'default_value', 'string');
$jinput->getString('varname', 'default_value');