-2

我的 url 包含许多我希望保持不变的变量(不要担心它们不重要)。

假设它包含...

../index.php?id=5

我将如何制作一个只添加的网址

&当前=1

而不是完全替换它?

我想要...

../index.php?id=5¤t=1

而不是..

../index.php?current=1

我知道这是一个简单的问题,但这就是为什么我无法弄清楚。

谢谢。

4

6 回答 6

0

您应该只创建链接以“添加”该参数

<a href="index.php?id=5&current=1">The Link</a>

然后显然在index.php的某个地方,您将查找当前变量并执行您需要的操作:

<?php 
    if(isset($_GET['current']) && !empty($_GET['current]) {

        // Do stuff here for the 'current' variable
        $current = trim($_GET['current']);
    }
?>
于 2013-09-28T00:31:40.157 回答
0

在需要 $current 变量的链接上,我想你可以随便把它放在 href 属性中。对于 index,php 文件,这样的东西....

if(isset($_GET['current']))
{
    $current = $_GET['current'];
    //Do the rest of what you need to do with this variable
}
于 2013-09-28T00:34:13.697 回答
0

试试这个:

$givenVar = "";
foreach($_GET as $key=>$val){
    $givenVar .= "&".$key."=".$val;
}
$var = "&num=1";
$link = "?".$givenVar."".$var;

echo $link;
于 2013-09-28T00:50:13.393 回答
0

您只需将变量添加到href,

 <a href="&current=1"></a>

当您在地址为

../index.php?id=5

相信我你然后去

../index.php?id=5&current=1

但是,如果您再次单击该链接,您将转到

../index.php?id=5&current=1&current=1

实际上,我认为仅附加变量是一种棘手且不好的做法。

我建议你这样做:

<?php 
  $query = isset($_GET) ? http_build_query($_GET) . '&current=1' : 'current=1';
?>

<a href="http://url.com/?<?php echo $query; ?>">A Label</a>

看看http://us.php.net/manual/en/function.http-build-query.php

于 2013-09-28T00:50:33.920 回答
0

我不知道为什么在地球上你会需要这个,但我们来了。这应该可以解决问题。

$appendString = "&current=1";
$pageURL = $_SERVER["REQUEST_URI"].$appendString;

$_SERVER["REQUEST_URI"] 应该只返回请求页面的名称,并附加任何其他 GET 变量。另一个字符串应该足够清楚!

于 2013-09-28T00:53:33.927 回答
0

要将参数附加到 URL,您可以执行以下操作:

function addParam( $url, $param ){
    if( strrpos( $url, '?' ) === false){
        $url .= '?' . $param;
    } else {
        $url .= '&' . $param;
    }
    return $url;
}

$url = "../index.php?id=5";

$url = addParam( $url, "current=1");
于 2013-09-28T00:58:53.113 回答