if ( !( $_SESSION['mc2_power'] > 0 || ( $open_words && $open_album && $open_share ) ) )
{
header( "location: login.php" );
die();
}其中$_SESSION['mc2_power']没有进行赋值怎么就直接判断了啊  很是不懂  而且看了上下包含的文件,都没有找到相关的信息    求解答啊sessionphp

解决方案 »

  1.   

    不赋值的话 $_SESSION['mc2_power'] > 0 默认就是false;
    然后就 符合条件 进行跳转 应该是 判断登陆的
      

  2.   

    您的代码需要有 php.ini 中 error_reporting = E_ALL ^ E_NOTICE
    或前面执行过 error_reporting(E_ALL ^ E_NOTICE);
    才能无误执行php 作为 web 脚本,处理的事务都很简单。完全没有必要去做复杂判断!费时费力$_SESSION['mc2_power']没有进行赋值怎么就直接判断,这就是脚本语言的优势
      

  3.   

    if(isset($_SESSION['XXX'])&&$_SESSION['XXX']>0)  
    这样判断一下
      

  4.   

    是的,不用去深究
    在屏蔽掉 NOTICE 级别错误检查时,php 会认为变量(包括数组的元素)都是天然存在的,都默认为空值
    这样的好处在于:你不必总是检查变量是否存在了,而使代码看上去很简洁(检查的工作交由php解释器完成)
    当然很多古板的程序员并不习惯这种人性化的做法,所以php才提供了E_NOTICE开关 
      

  5.   

    好吧   可是后面还有  不仅仅有 $_SESSION['mc2_power'] > 0 这样的判断条件,还有 $_SESSION['mc2_power'] > 4或者其他数值的语句  这难道也是这样的理解?如果是的话  跟 $_SESSION['mc2_power'] > 0 不是没有区别了么