将参数传递给新URL

时间:2013-12-17 16:16:30

标签: php html url href

我正在使用HTML中的一些锚标签,我需要将第一个网址中的一些参数传递给第二个网址

<a href="newpage.html">My Link</a>

我当前的网址是 - oldpage.html?arg=value

但“我的链接”重定向到 -

newpage.html

而不是

newpage.html?arg=value

如何延续arg的价值?

3 个答案:

答案 0 :(得分:3)

如果您只想复制一个已知变量,就像

一样简单
<?php echo "<a href=\"newpage.html?arg=" . urlencode($_GET["arg"]) . "\">My Link</a>" ?>

然后oldpage.html?arg=value会生成指向newpage.html?arg=value的链接。

但是,如果要传递整个查询字符串,可以使用$_SERVER["QUERY_STRING"]变量实现此目的。

<?php echo "<a href=\"newpage.html?" . urlencode($_SERVER["QUERY_STRING"]) . "\">My Link</a>" ?>

这会将整个查询字符串传播到新页面。因此,如果您使用oldpage.html?arg=value&color=green访问当前页面,则链接将指向newpage.html?arg=value&color=green

或者您可以使用http_build_query,允许您添加额外的参数或根据需要修改现有的查询字符串。

<?php echo "<a href=\"newpage.html?" . http_build_query($_GET + array("foo" => "bar")) . "\">My Link</a>" ?>

使用此功能,导航到oldpage.html?arg=value的当前页面会生成newpage.html?arg=value&foo=bar的链接。

答案 1 :(得分:2)

<a href="newpage.html?arg=<?php echo $_GET['arg']; ?>">My Link</a>

答案 2 :(得分:1)

或者你可以这样做:

<a href="newpage.html?<?php echo $_SERVER['QUERY_STRING']; ?>">My Link</a>

但只有当您的服务器允许您使用SERVER变量时才会这样做。