Possible Duplicate:
keeping url parameters during pagination
我想用php给当前url添加一个参数,但是如何知道url是否已经包含参数了?
示例:
foobar.com/foo/bar/index.php => foobar.com/foo/bar/index.php?myparameter=5 foobar.com/index.php?foo=7 => foobar.com/index.php?foo=7&myparameter=5
主要问题是我不知道是否需要加一个“?”。
我的代码(在某处找到它,但不起作用):
<?php if(/?/.test(self.location.href)){ //if url contains ?
$url = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]&myparameter=5";
} else {
$url = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]?myparameter=5";
}?>
最佳答案
URL 参数是从名为 $_GET
的全局变量接收的,该变量实际上是一个数组。因此,要知道 URL 是否包含参数,可以使用 isset()
函数。
if (isset($_GET['yourparametername'])) {
//The parameter you need is present
}
之后,您可以创建需要附加到 URL 的此类参数的单独数组。喜欢:
if(isset($_GET['param1'])) {
\\The parameter you need is present
$attachList['param1'] = $_GET['param1'];
}
if(isset($_GET['param2'])) {
$attachList['param2'] = $_GET['param2];
}
现在,要知道是否需要 ?
符号,只需计算这个数组即可
if(count($attachList)) {
$link .= "?";
// and so on
}
更新:
要知道是否设置了任何参数,只需计算 $_GET
if(count($_GET)) {
//some parameters are set
}
关于php - 检查url是否包含参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10868818/