php session问题

sirme11 2013-03-13 05:29:58
if ( !( $_SESSION['mc2_power'] > 0 || ( $open_words && $open_album && $open_share ) ) )
{
header( "location: login.php" );
die();
}



其中$_SESSION['mc2_power']没有进行赋值怎么就直接判断了啊 很是不懂 而且看了上下包含的文件,都没有找到相关的信息 求解答啊
...全文
181 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
LEIJIANKUN111 2013-03-14
  • 打赏
  • 举报
回复
if(isset($_SESSION['XXX'])&&$_SESSION['XXX']>0) 这样判断一下
xuzuning 2013-03-14
  • 打赏
  • 举报
回复
引用 4 楼 sirme11 的回复:
您说的是什么意思呢?我是不是可以理解为这样的写法是对的 不用去深究 三楼的朋友求详解
是的,不用去深究 在屏蔽掉 NOTICE 级别错误检查时,php 会认为变量(包括数组的元素)都是天然存在的,都默认为空值 这样的好处在于:你不必总是检查变量是否存在了,而使代码看上去很简洁(检查的工作交由php解释器完成) 当然很多古板的程序员并不习惯这种人性化的做法,所以php才提供了E_NOTICE开关
sirme11 2013-03-14
  • 打赏
  • 举报
回复
好吧 可是后面还有 不仅仅有 $_SESSION['mc2_power'] > 0 这样的判断条件,还有 $_SESSION['mc2_power'] > 4或者其他数值的语句 这难道也是这样的理解?如果是的话 跟 $_SESSION['mc2_power'] > 0 不是没有区别了么
sirme11 2013-03-13
  • 打赏
  • 举报
回复
您说的是什么意思呢?我是不是可以理解为这样的写法是对的 不用去深究 三楼的朋友求详解
xuzuning 2013-03-13
  • 打赏
  • 举报
回复
您的代码需要有 php.ini 中 error_reporting = E_ALL ^ E_NOTICE 或前面执行过 error_reporting(E_ALL ^ E_NOTICE); 才能无误执行 php 作为 web 脚本,处理的事务都很简单。完全没有必要去做复杂判断!费时费力 $_SESSION['mc2_power']没有进行赋值怎么就直接判断,这就是脚本语言的优势
ayzen1988 2013-03-13
  • 打赏
  • 举报
回复
不赋值的话 $_SESSION['mc2_power'] > 0 默认就是false; 然后就 符合条件 进行跳转 应该是 判断登陆的

21,882

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧