2014-03-27 35 views
0

我有這樣的錯誤在這行:注意:未定義的常量USER_SESSION的使用 - 假設 'USER_SESSION'

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

聲明:

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

錯誤消息非常清楚,當你使用它時,USER_SESSION **不是**定義的**。當然是Yeap, – 2014-03-27 06:27:04

回答

0

使用defined()到恆存在檢查,否則你將在您未定義常量的情況下收到通知(E_NOTICE)。

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

。引用'$ _SESSION ['username']'的常量'USER_SESSION'不是像'boolean'那樣的''。 – iamsleepy

+0

@iamsleepy是的,這不是一個布爾值。但是不,這不是他得到通知的原因,PHP可以'如果'任何東西,如果給予'empty()',那麼任何導致'TRUE'的東西都會在'if'時被評估爲'FALSE'。參見[empty()']的文檔(http://php.net/empty)。 –

+0

抱歉完全忘記了這一點。現在我記得所有不是空的,除非使用嚴格的比較器,否則將NULL值或0值評估爲TRUE。 – iamsleepy

相關問題