加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – Joomla使用JInput检查空字符串

发布时间:2020-12-13 17:23:40 所属栏目:PHP教程 来源:网络整理
导读:在这个 guide之后清理我的输入,我想知道是否有一个空字符串被覆盖? $jinput = JFactory::getApplication()-input;$this-name = $jinput-get('name','','STRING'); 通常没有Joomla我也会检查一个空字符串.就像是: if (!empty($_POST['name'])) 查看JInput g
在这个 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');

解决方法

Joomla无法确定您的空字符串是否为有效值.他们必须使用isset(),因为如果他们使用empty()并返回正常情况下的’0′,Joomla将返回默认值而不是’0′.

因此,他们只是使用isset()来检查变量是否已设置是完全正常的,由您来决定接受哪些值.

如果未设置该值,并且您将第二个参数设置为空字符串”,则会返回一个空字符串.

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读