PHP嵌套的Ifs不起作用
我正在检查Facebook用户是否不喜欢某个页面。如果是这样,代码将显示用户名和邀请消息“喜欢它”;如果没有,则显示“激励登录页”。然而,我只得到了第一部分:当用户点击Like按钮时,代码不会显示“激励”。代码如下所示: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']; ?></
<?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的代码,这就解决了问题。