2010-11-21 73 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 }?>