将参数传递到新 URL
Posted
技术标签:
【中文标题】将参数传递到新 URL【英文标题】:Carry over arguments to new URL 【发布时间】:2014-01-05 12:20:30 【问题描述】:我正在处理 html 中的一些锚标记,我需要将一些参数从第一个 url 传递到第二个 url
<a href="newpage.html">My Link</a>
我当前的网址是 - oldpage.html?arg=value
但“我的链接”重定向到 -
newpage.html
而不是
newpage.html?arg=value
我如何结转arg
的值?
【问题讨论】:
【参考方案1】:如果你只想复制一个已知的变量,那么简单
<?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
的链接。
【讨论】:
【参考方案2】:<a href="newpage.html?arg=<?php echo $_GET['arg']; ?>">My Link</a>
【讨论】:
这个解决方案对我来说效果更好。 @sargant 的 urlencode($_SERVER["QUERY_STRING"]) 将我的 & 符号转换为特殊字符代码 %s。【参考方案3】:或者你可以这样做:
<a href="newpage.html?<?php echo $_SERVER['QUERY_STRING']; ?>">My Link</a>
但前提是您的服务器允许您使用 SERVER 变量。
【讨论】:
以上是关于将参数传递到新 URL的主要内容,如果未能解决你的问题,请参考以下文章
VB。NET里Response.Redirect传递参数怎么传啊????