【问题标题】:Notice: Use of undefined constant USER_SESSION - assumed 'USER_SESSION'注意:使用未定义的常量 USER_SESSION - 假定为 'USER_SESSION'
【发布时间】:2015-12-01 18:46:12
【问题描述】:

我在这些行中有这个错误:

public static function isLogged()
{
    if(USER_SESSION)
        return true;
    else
        return false;
}

声明:

    if(isset($_SESSION['username']))
         define('USER_SESSION',         $_SESSION['username']);

【问题讨论】:

  • 错误信息很清楚,USER_SESSION 定义何时你使用它。

标签: php if-statement constants session-cookies


【解决方案1】:

使用defined() 检查常量是否存在,否则在未定义常量的情况下会收到通知(E_NOTICE)。

if( defined('USER_SESSION') ) {
    /* ... */
}

【讨论】:

  • 是的,当然。被称为$_SESSION['username'] 的常量USER_SESSION 不是boolean 那样的ifed。
  • @iamsleepy 是的,它不是布尔值。但是不,这不是他收到通知的原因,PHP 可以if 任何东西,如果给empty() 导致TRUE 的任何东西将在ifed 时被评估为FALSE。见documentation for empty()
  • 抱歉完全忘记了。现在我记得所有不为空的东西,NULL 或 0 的值将被评估为 TRUE,除非使用严格的比较器。
  • @iamsleepy,包含null0""array()...的变量为空;因此,如果您评估它们,它们将评估为 FALSE。
猜你喜欢
  • 2013-07-20
  • 2017-01-12
  • 2019-02-19
  • 1970-01-01
  • 1970-01-01
  • 2018-07-02
  • 1970-01-01
  • 2018-06-30
  • 2015-07-11
相关资源
最近更新 更多