2012-09-08 2 views
1

URL에 특정 매개 변수가 들어있는 경우에만 콘텐츠를 표시하고 싶습니다. 예를 들어, URL이 존재하는지 여부가 체크되는 경우, 파라미터는? offset = 10이다.URL에 특정 매개 변수가 포함 된 경우에만 콘텐츠 표시

function parameterUrl() { 
$str = "?offset=10"; 
$uri = $_SERVER['REQUEST_URI']; 
if ($uri == "http://site.com/post-name$str") { 
echo "Show this"; 
} 
else { 
} 
} 

그러나 상기 기능은 작동되지 않는다 : 파라미터가 존재하지 않으면 (site.com/post-name?offset=10) 그렇지 않으면 콘텐츠

예 Y.

도시 콘텐츠 X를 나타낸다 . 누구든지 도와 줄 수 있어요. 어떤 생각이라도 환영합니다. 고맙습니다.

답변

1

매개 변수는 $_GET 전역 배열에 저장됩니다.

당신이 필요합니다 코멘트

에서

if (isset($_GET['offset']) && $_GET['offset'] == 10) 
{ 
echo "show this"; 
} 
else { 
echo "show that"; 
} 

업데이트는 다음 스위치 문이 더 좋을 것이다 다수의 수량을하려는 경우 : 해당하는 경우

if (isset($_GET['offset'])) 
{ 
    switch($_GET['offset']) 
    { 
     case 10: 
      echo "show for 10"; 
     break; 

     case 20: 
      echo "show for 20"; 
     break; 

     case 30: 
      echo "show for 30; 
     break; 
//and so on 
    } 
} 
else { 
echo "show for no offset"; 
} 
+0

이에 따라 대답을 –

+0

확인했습니다. @Liam Bailey, 처음에는 완벽하게 작동했습니다. 사실 매개 변수는 10 (오프셋 = 10, 오프셋 = 20, ... 30, ...)의 양으로 추가됩니다. 그래서 다른 매개 변수 url에 대해서는 "elseif"를 사용합니다 : if (isset ($ _ GET [ 'offset']) && $ _GET [ 'offset'] == 10) {echo "show this"; } elseif (isset ($ _ GET [ 'offset']) && $ _GET [ 'offset'] == 20) { echo "show this"; }' –

+0

위대한, 나는 "스위치"를 사용하는 방법을 기억하지 못했습니다. 따라서 조금 더 쉽게 지원해 주셔서 감사합니다. –

0

확인 $_GET 연관 배열의 키가 설정됩니다.

isset($_GET['offset']) 

따라서, 코드에서, 그것은 것입니다 :

<?php 
function parameterUrl() { 
    if (isset($_GET['offset'])) { 
    echo "Show this"; 
    } 
    else { 
    } 
} 
?> 

을 선택적으로이 (isset($_GET['offset']) && $_GET['offset'] == 10)를 사용, 10로 동일 할 필요가있는 경우.

+0

@ronalchn, 그 팁과 Liam Bailey의 팁에 감사드립니다. –

관련 문제