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

PHP会话在if语句中意外更改并忽略echo命令

发布时间:2020-12-13 13:08:16 所属栏目:PHP教程 来源:网络整理
导读:当显示Wordpress中的特定页面时,我将$_SESSION [‘showroom’]设置为’active’: if(get_the_ID()==6470||get_the_ID()==252){ $_SESSION['showroom']='active';} 然后我设置2个页面数组进行检查.如果显示的下一页不在其中一个数组中,$_SESSION [‘showroom
当显示Wordpress中的特定页面时,我将$_SESSION [‘showroom’]设置为’active’:
if(get_the_ID()==6470||get_the_ID()==252){
    $_SESSION['showroom']='active';
}

然后我设置2个页面数组进行检查.如果显示的下一页不在其中一个数组中,$_SESSION [‘showroom’]将变为’inactive’.

$allowed_templates = array('template-A.php','template-B.php','template-C.php','template-E.php','template-G.php');
$allowed_ids = array(6470,252);

$template_name = get_page_template_slug();
$page_id = get_the_ID();

if(in_array($template_name,$allowed_templates)==false && in_array($page_id,$allowed_ids)==false){
    $_SESSION['showroom']='inactive';
}

if语句大部分时间都有效,但有时我的$_SESSION [‘展厅’]会变为非活动状态,尽管其中一个数组返回true!经过几个小时的测试后,我无法找到问题所在.回应if语句的两个部分ALWAYS给了我2个trues或1个true 1 false,但从来没有2个falses:

if(in_array($template_name,$allowed_templates)==false){echo 'TFALSE';}
if(in_array($template_name,$allowed_templates)){echo 'TTRUE';}
if(in_array($page_id,$allowed_ids)==false){echo 'IFALSE';}
if(in_array($page_id,$allowed_ids)){echo 'ITRUE';}

我在这里想念的是什么?

在此先感谢您的帮助!

编辑:继续测试,发现以下异常:

if(in_array($template_name,$allowed_ids)==false){
    $_SESSION['showroom']='inactive';
    echo 'SET TO INACTIVE';
}

if语句将$_SESSION [‘showroom’]更改为’inactive’,但不会回显’SET TO INACTIVE’!

这里有一些奇怪的事情!

问题解决了.我的代码很好.两个丢失的图像文件导致WordPress崩溃我的会话.花了10个小时才找到,但很高兴我发现了它.感谢大家的帮助.

(编辑:李大同)

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

    推荐文章
      热点阅读