0

如果我要设置一个

if(isset($_GET['var']))
{
 //stuff with only 1 variable
}

如果我的网址类似于

http://www.url.com/test.php?var=something&var2=somethingelse

所以当这个 url 有 2 个 get 变量时,它不应该显示 isset($_GET['var']) 中的代码块。相反,它应该显示此块中的代码

if(isset($_GET['var']) && isset($_GET['var2']))
{
 // block of codes with 2 variables
}

但是,第一块代码也将被显示,因为没有什么可以告诉它不应该显示是否有其他变量。

4

1 回答 1

0
if(isset($_GET['var']) && count($_GET) == 1) {
    //stuff with only 1 variable
}

但是,这样做是一个非常糟糕的主意。如果存在其他一些未知的 GET 变量,它会破坏您的站点。虽然这不太可能,但我不希望有任何网站能够摆脱它。

例如,广告服务器可能会自动添加一个以允许目标站点根据需要创建统计信息。

如果您知道预期哪些其他变量(应该是这种情况)更好地明确检查它们是否不存在:

if(isset($_GET['var']) && !isset($_GET['var2'])) {
    // do stuff
}
于 2012-12-29T21:57:50.960 回答