PHP嵌套的Ifs不起作用

PHP嵌套的Ifs不起作用,php,if-statement,nested-if,Php,If Statement,Nested If,我正在检查Facebook用户是否不喜欢某个页面。如果是这样,代码将显示用户名和邀请消息“喜欢它”;如果没有,则显示“激励登录页”。然而,我只得到了第一部分:当用户点击Like按钮时,代码不会显示“激励”。代码如下所示: <?php if(!$like_status): ?> <?php if ($me): ?> <div id="name">Hola <?php echo $me['first_name']; ?></

我正在检查Facebook用户是否不喜欢某个页面。如果是这样,代码将显示用户名和邀请消息“喜欢它”;如果没有,则显示“激励登录页”。然而,我只得到了第一部分:当用户点击Like按钮时,代码不会显示“激励”。代码如下所示:

<?php if(!$like_status): ?> 
    <?php if ($me): ?>
      <div id="name">Hola <?php echo $me['first_name']; ?></div> //Everything works fine.  
    <?php endif; ?>
     // Display graphics... Everything works fine.
<?php else : ?>
     //Page with the incentive... This does not work when the nested if is present.
<?php endif; ?>

你好,一切正常。
//显示图形。。。一切正常。
//页面与激励。。。当嵌套if存在时,此操作不起作用。

如果我去掉嵌套的If(显示用户名的If),一切正常。有什么好主意吗?

在尾声后面缺少分号

<?php if(!$like_status): ?>   
    <?php if ($me): ?>
      // Display user's name... Everything works fine.  
    <?php endif; ?>
     // Display graphics... Everything works fine.
<?php else: ?>
     //Page with the incentive... This does not work when the nested if is present.
<?php endif; ?>

//显示用户名。。。一切正常。
//显示图形。。。一切正常。
//页面与激励。。。当嵌套if存在时,此操作不起作用。

如果有人面临同样的问题,我找到了解决方案:出于某种原因,IE 7-8不喜欢在同一上下文中使用变量$me和对API(“/me”)的调用。我刚刚更改了变量的名称,在FF、Chrome和IE 7-9中一切正常。

@Charles Sprayberry
非常正常@Byktor like_状态的价值是什么;LOL@Charles:)读这个兄弟:是的,我找到了另一种语法。我还是说
应该是
{}
。对我来说,这看起来很可怕:)在大多数MVC框架中,当代码放在视图中的HTML语法中时,这是PHP的推荐语法。Charles:我尝试了两个值:false和true。我已经尝试了endif后面的分号。。。没用。我会再检查一遍,以防万一,然后告诉你。。。。重新检查后,它不起作用。我猜您没有向我们显示的代码中有一个错误;)代码运行良好,只是测试了它:$like\u status=true;if(empty($like_status)):if(!empty($me)):echo'name';endif;回声“图形”;其他:回声“激励”;endif输出“激励”我添加了三个关键行。没有垃圾邮件,@Ibu。。。我只是想@AlienWebguy看看结果。几分钟后我删除了链接。谢谢大家。我只是重写了没有嵌套if的代码,这就解决了问题。