2012-09-08 72 views
1

僅當url包含某些參數時,纔想顯示內容。在檢查URL是否存在的情況下,例如,參數?offset = 10。如果參數存在(site.com/post-name?offset=10)示出了內容X,否則該內容被示出Y.僅當URL包含特定參數時才顯示內容

例如:

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

但上述功能不能正常工作。任何人都可以幫忙任何想法是受歡迎的。謝謝。

回答

1

您的參數存儲在$_GET全局數組中。

您需要:

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

從評論

更新如果你想有多個數量則switch語句會更好:

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貝利,起初工作完美。實際上,參數的數量是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 { 
    } 
} 
?> 

可選的,如果它需要等於10,使用(isset($_GET['offset']) && $_GET['offset'] == 10)

+0

感謝@ronalchn,它的小費和Liam Bailey的小費,派上用場。 –

相關問題