PHP嵌套的Ifs不起作用

时间:2011-07-19 03:15:30

标签: php if-statement nested-if

我正在检查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(显示用户名的那个),一切正常。有什么想法吗?

2 个答案:

答案 0 :(得分:1)

在endif的

之后你错过了分号
<?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; ?>

答案 1 :(得分:0)

如果有人遇到同样的问题,我找到了解决方案:由于某种原因,IE 7-8不喜欢变量$ me和在相同的上下文中调用API('/ me')。我只是更改了变量的名称,在FF,Chrome和IE 7-9中一切正常。