2010-11-21 68 views
0

我很习惯写Wordpress,我不知道如何自己做一个简单的PHP逻辑语句!如何编写基本if语句以在代码页上包含代码?

对于一个非常基础的项目,我试图在index.php页面中包含一个无序列表。下面是我想使用的代码示例:

 <?php 
     $index = $_SERVER['REQUEST_URI']; 
     if ($index == "/") { 
     ?><ul id="links"> 
      <li><a href="http://facebook.com" class="facebook">Facebook</a></li> 
      <li><a href="example.php">Example</a></li> 
      <li><a href="test.php">Test</a></li> 
      <li><a href="page.php">Page</a></li> 
     </ul> 
     <?php } ?> 

我知道这需要用的index.php的实际URI以及没有的index.php空白后缀结尾的索引页的工作。我如何编写此代码才能正常工作?

回答

3

您需要使用basename()函数来得到实际的页面名称如下:

<?php 
    $page = basename($_SERVER['REQUEST_URI']); 
    if ($page == 'index.php' || $page == "/" || $page == '') { 
    ?><ul id="links"> 
     <li><a href="http://facebook.com" class="facebook">Facebook</a></li> 
     <li><a href="example.php">Example</a></li> 
     <li><a href="test.php">Test</a></li> 
     <li><a href="page.php">Page</a></li> 
    </ul> 
    <?php } ?> 
+0

不错,当页面以index.php结尾时效果很好。但是,它似乎没有正确的工作,只有一个尾随斜线。我复制并粘贴了你的顶级PHP代码,使得引用保持一致,但是没有收到正确的结果。 – micah 2010-11-21 21:03:58

+0

当你var_dump时,$ page等于什么? – 2010-11-22 04:49:55

+0

嘿马克,我在变量声明下面添加了var_dump到索引页上的PHP代码。它会在最后一个斜杠之前回退子目录名称(我在该项目上线之前处于该子项目的子目录中)。所以现在我明白为什么它不显示按钮,但我不知道如何解决问题! – micah 2010-11-22 16:22:01

0

它的工作但是如果你使用SCRIPT_NAME与下面的斜杠。

<?php 
    $page = basename($_SERVER['SCRIPT_NAME']); 
    if ($page == 'index.php' || $page == "/" || $page == '') 
    { ?> 
    Hi This should show up. 
    <?php }?>