我试图创建一些链接,具体取决于当前设置的GET参数。
我的网址如下:
http://mysite.com/index.php?bar=test&page=page
在我的代码中,我执行以下操作:
$bar = $_REQUEST['bar'];
<a href="index.php?bar=<?php echo $bar?>&page=anotherpage"
但是每次点击链接时,它都会再次将整个字符串添加到URL中。
首次点击会给我这个网址:
http://mysite.com/index.php?bar=test&page=anotherpagepage=anotherpage
然后点击下次创建:
http://mysite.com/index.php?bar=test&page=anotherpagepage=anotherpagepage=anotherpage
等等。
有没有办法只获取一次请求,以便URL始终如下所示:
http://mysite.com/index.php?bar=test&page=anotherpage
无论我点击链接多少次?
非常感谢!
答案 0 :(得分:1)
你在第一个例子中错过了&符号。 (安培;安培)。试一试:
$bar = $_REQUEST['bar'];
<a href="index.php?bar=<?php echo $bar?>&page=anotherpage"
甚至更好,在使用之前转义变量以防止XSS,跨站点脚本安全漏洞。使用urlencode()
表示网址。
http://nl.php.net/manual/en/function.urlencode.php:
$bar = $_REQUEST['bar'];
<a href="index.php?bar=<?=urlencode($bar)?>&page=anotherpage"
答案 1 :(得分:0)
你应该看一下php函数http_build_query
这使您能够首先构建数组,如下所示:
$query = array("bar"=>$_REQUEST['bar'], "page"=>"anotherpage")
echo '<a href="/index.php?'.http_build_query($query).'">Link</a>';