逻辑运算符的IF/Else语句测试不能正常工作


PHP - Logical operator with IF/Else statement test not working correctly

代码来自:oc-content/themes/realestate/item.php

我有这段PHP代码,它是一个名为OSClass的框架的一部分。基本上,我试图"隐藏"用户(广告的发布者)名称,以非登录用户。换句话说,只有当用户登录时,他们才能看到发布者用户是否发布了广告。

我发现我需要添加这段代码osc_is_web_user_logged_in(),它已经完美地为另一个部分工作,然而,由于else声明,出版商名称仍然显示…

如何修改else语句?我可以删除else语句,但我担心它会"打破"一些东西,我不确定osc_item_user_id()做什么……我是否在else语句中添加另一个if语句(完整的PHP新手在这里)。

<div class="ico-author ico"></div>                  
    <?php if( osc_item_user_id() != null && osc_is_web_user_logged_in()  ){ ?> 
          <?php echo osc_item_contact_name(); ?>
    <?php } else { ?>
          <?php echo osc_item_contact_name(); ?>
    <?php } ?>

谢谢!

我认为你应该这样写:

<div class="ico-author ico"></div>                  
    <?php if( osc_item_user_id() != null && osc_is_web_user_logged_in()  ){ ?> 
          <?php echo osc_item_contact_name(); ?>
    <?php } ?>

由于您不想在用户未登录时显示发布者名称,因此不需要else部分

可以添加else if语句

if (osc_item_user_id() != null && osc_is_web_user_logged_in())
{
    <?php echo osc_item_contact_name(); ?>
}
else if (user non logged)
{
    // your stuff 
}
else
{
    <?php echo osc_item_contact_name(); ?>
}