与我的菜单搏斗 - 为什么这个坏了? - <li> php是否已打印,未执行?</li>

时间:2011-04-13 14:31:20

标签: php html css

我对此有点新意,这一个问题让我发疯了。

标签“?= $ active [0]?”在

  • 上打印而不是执行。

    任何指示赞赏......

    $url = $_SERVER['REQUEST_URI'];
    $active = 'class=""';
    
    switch($url){
    
        case('/SSPCorporate/index.php'):
            $active[0] = ' class="active"';
        break;
    
        case('/SSPCorporate/about.php'):
        case('/SSPCorporate/our-customers.php'):
        case('/SSPCorporate/our-partners.php'):
        case('/SSPCorporate/our-clients.php'):
        case('/SSPCorporate/our-standards.php'):
        case('/SSPCorporate/our-awards.php'):
            $active[1] = ' class="active"';
        break;
    
        case('/SSPCorporate/solutions.php'):
            $active[2] = ' class="active"';
        break;
    
        case('/SSPCorporate/services.php'):
            $active[3] = ' class="active"';
        break;
    
        case('/SSPCorporate/sustainability.php'):
        case('/SSPCorporate/what-are-we-doing.php'):
        case('/SSPCorporate/what-can-you-do.php'):
        case('/SSPCorporate/what-we-support.php'):
        case('/SSPCorporate/references.php'):
            $active[4] = ' class="active"';
        break;
    
        case('/SSPCorporate/healthcare.php'):
            $active[5] = ' class="active"';
        break;
    
        case('/SSPCorporate/blog/'):
            $active[6] = ' class="active"';
        break;
    
        case('/SSPCorporate/contact.php'):
            $active[7] = ' class="active"';
        break;
    
    }
    

    &GT;

    echo($url);
    
    ?>
    
    <nav>
      <ul class="clearfix">
        <li id="first" <?= $active[0] ?> <a href="index.php" class="Bold">Home</a></li>
        <li <?= $active[1] ?> <a href="about.php" class="Bold">About</a></li>
        <li <?= $active[2] ?> <a href="solutions.php" class="Bold">Solutions</a></li>
        <li <?= $active[3] ?> <a href="services.php" class="Bold">Services</a></li>
        <li <?= $active[4] ?> <a href="sustainability.php" class="Bold">Sustainability</a></li>
        <li <?= $active[5] ?> <a href="healthcare.php" class="Bold">Healthcare</a></li>
        <li <?= $active[6] ?> <a href="/blog/" class="Bold">Blog</a></li>
        <li id="last" <?= $active[7] ?> <a href="contact.php" class="Bold">Contact</a></li>
      </ul>
    </nav>
    
  • 4 个答案:

    答案 0 :(得分:1)

    可能是PHP的short_open_tag指令被禁用。

    这实际上是一件好事,因为它们导致代码不太便携,不应该使用。

    我建议改用<?php echo $active[0] ?>

    答案 1 :(得分:0)

    您的服务器很可能未配置为支持短标记<? {code} ?>。尝试用<?php {code} ?>替换它们。您也可以启用短标签,但不建议这样做。

    答案 2 :(得分:0)

    检查PHP指令short_open_tag。如果它可能关闭,这是东西beign没有执行的原因。

    然而,完全使用它们是no good,用<?php替换会更好地解决问题

    答案 3 :(得分:0)

    采取野刺,

    <li <? echo $active[1]..
    

    可行,因为您的服务器的php配置可能没有启用短标签。