仅当URL包含特定参数时才显示内容

时间:2012-09-08 08:24:41

标签: url parameters

我想仅在网址包含特定参数时才显示内容。在检查URL是否存在的情况下,例如,参数?offset = 10。如果参数存在(site.com/post-name?offset=10),则显示内容X,否则内容显示为Y.

例如:

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

但是上面的功能不起作用。谁能帮忙。欢迎任何想法。谢谢。

2 个答案:

答案 0 :(得分: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";
}

答案 1 :(得分:0)

检查$_GET关联数组中的相应键是否已设置。

isset($_GET['offset'])

因此,在您的代码中,它将是:

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

可选择如果需要等于10,请使用(isset($_GET['offset']) && $_GET['offset'] == 10)