将参数传递到新URL

2022-04-03 00:00:00 url href php html

我正在使用HTML中的一些锚标记,其中我需要将一些参数从第一个url传递到第二个url

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

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

但"我的链接"重定向到-

newpage.html

而不是

newpage.html?arg=value

如何结转arg的值?


解决方案

如果您只想复制已知的变量,则只需

<?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的链接。

相关文章