【问题标题】:Joomla check for empty string with JInputJoomla 使用 JInput 检查空字符串
【发布时间】:2013-03-16 20:48:07
【问题描述】:

按照guide 清理我的输入,我想知道这个是否覆盖了一个空字符串?

$jinput = JFactory::getApplication()->input;
$this->name = $jinput->get('name', '', 'STRING');

通常如果没有 Joomla,我也会检查空字符串。比如:

if (!empty($_POST['name']))

查看 JInput get 方法,我看到它检查它是否为isset

public function get($name, $default = null, $filter = 'cmd')
{
    if (isset($this->data[$name]))
    {
        return $this->filter->clean($this->data[$name], $filter);
    }

    return $default;
}

不一样,isset 只会检查 null。但是,这是使用 get 方法的默认值。那么,如果我为第二个参数指定一个空字符串,我会在这里介绍吗?

$this->name = $jinput->get('name', '', 'STRING');

【问题讨论】:

    标签: php joomla joomla2.5


    【解决方案1】:

    Joomla 不能决定您的空字符串是否为有效值。他们必须使用isset(),因为如果他们使用empty(),而您返回您所期望的'0',那么Joomla 将返回默认值而不是'0'

    所以他们只是使用isset() 来检查是否设置了变量是完全正常的,您可以决定接受哪些值。

    如果未设置该值,而您将第二个参数设置为空字符串'',则会返回一个空字符串。

    在您的示例中,将返回一个空字符串,这是预期的行为。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-01
      • 2017-11-25
      • 2018-11-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多