好的,我让我们说这页http://mypage.com/index.php?id=something
。我希望在此页面中显示指向http://mypage.com/index.php?id=something&sub=1
的链接。要做到这一点,我必须像我这样添加a href
到我的index.php文件中
echo '<a href="index.php?id=something&sub=1">go here</a>';
。是否有可能做得更短?我是说只是以某种方式添加sub=1
?感谢。
答案 0 :(得分:1)
在PHP中,您可以执行以下操作:
echo '<a href="' . $_SERVER['REQUEST_URI'] . '&sub=1">go here</a>'
在JavaScript中,你可以这样做:
location.search += "&sub=1";
但这并不是一个需要JavaScript的理由。
答案 1 :(得分:1)
在php中你可以得到:
$_SERVER['REQUEST_URI'];
这应该会为您提供所请求的网址,但如果在没有查询字符串的情况下调用网页,则添加&sub=1
会有风险,因为这会导致:
index.php&sub=1
答案 2 :(得分:0)
试试这个:
$ _ SERVER [PHP_SELF] +“&amp; sub = 1”;
答案 3 :(得分:0)
使用PHP,您可以使用$_SERVER['REQUEST_URI']
获取网页的网址。然后,您可以像修改任何其他字符串一样修改它。
请参阅PHP手册中的Predefined variables。
答案 4 :(得分:0)
您可以执行以下操作:
echo '<a href="' . $_SERVER['REQUEST_URI'] . ($_SERVER['QUERY_STRING'] == '' ? '?' : '&') . 'sub=1">go here</a>';
但是迟早你将不得不面对可能“添加”已经在查询字符串中的参数的问题。所以我建议编写一个函数/方法来处理向URL添加/删除查询参数。
答案 5 :(得分:0)
有一个名为http_build_url
的PHP命令专门针对您的用例类型。
这就是你如何将它用于你的例子:
http_build_url($url_string,
array(
"query" => "sub=1"
),
HTTP_URL_JOIN_QUERY
);