首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Joomla使用JInput检查空字符串

Joomla使用JInput检查空字符串
EN

Stack Overflow用户
提问于 2013-03-27 05:14:42
回答 1查看 2K关注 0票数 4

遵循这个guide来清理我的输入,我想知道空字符串是否包含了下面的内容?

代码语言:javascript
复制
$jinput = JFactory::getApplication()->input;
$this->name = $jinput->get('name', '', 'STRING');

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

代码语言:javascript
复制
if (!empty($_POST['name']))

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

代码语言:javascript
复制
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方法的默认值。那么,如果我为第二个参数指定了一个空字符串,我会在这里被覆盖吗?

代码语言:javascript
复制
$this->name = $jinput->get('name', '', 'STRING');
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-27 06:08:23

你的空字符串是否为有效值并不是由Joomla来决定的。他们必须使用isset(),因为如果他们使用empty(),而你返回'0',你会认为这是正常的,Joomla将返回默认值而不是那个'0'

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

如果没有设置该值,并且将第二个参数设置为空字符串'',则会返回一个空字符串。

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

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15647545

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档