2010-11-21 5 views
0

나는 간단한 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

+0

var_dump 할 때 $ page와 같은 점은 무엇입니까? –

+0

Hey Mark, 변수 선언 아래에 인덱스 페이지의 PHP 코드에 var_dump를 추가했습니다. 후행 슬래시 앞에 서브 디렉토리 이름을 되돌려줍니다 (라이브가되기 전에이 프로젝트의 서브 디렉토리에 있습니다). 이제는 버튼이 표시되지 않는 이유를 이해하지만 문제를 해결하는 방법을 모르겠습니다. – micah

0

그것은 작동하지 않습니다하지만 당신은 슬래시는 다음과 SCRIPT_NAME을 사용하는 경우.

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