Php 多个同时进入URL?
我试图从URL中获取变量,但每当URL已经有一个查询时,它就会被下一个查询覆盖。例子: 我有一个链接Php 多个同时进入URL?,php,html,Php,Html,我试图从URL中获取变量,但每当URL已经有一个查询时,它就会被下一个查询覆盖。例子: 我有一个链接 <a href="?page=34">Page 34</a> 当你点击该链接时,该链接变为可见 <a href="?item=45">Item 45</a> 但是当我点击那个链接时,另一个链接被覆盖,所以URL看起来像 www.domainname.ext/?item45 但我希望它看起来像 www.domainname.ext/?pa
<a href="?page=34">Page 34</a>
当你点击该链接时,该链接变为可见
<a href="?item=45">Item 45</a>
但是当我点击那个链接时,另一个链接被覆盖,所以URL看起来像
www.domainname.ext/?item45
但我希望它看起来像
www.domainname.ext/?page=34&item45
有办法吗?
提前谢谢
<a href="?page={$page->id}&item={$item->id}">
Page {$page->id}, Item {$item->id}
</a>
在给定的“页面”中,您需要存储页面ID,并在创建“项目”链接时使用存储的值
您也可以使用
http\u build\u query()
将更多参数附加到URL
$params = $_GET;
$params["item"] = 45;
$new_query_string = http_build_query($params);
例如:
$data = array('page'=> 34,
'item' => 45);
echo http_build_query($data); //page=34&item=45
或包括放大器
echo http_build_query($data, '', '&'); //page=34&&item=45
输出链接时,必须包含所有相关的查询字符串参数;没有自动“合并” 如果您可以将服务器端的东西更改为使用,您就可以得到这种行为。例如,从
http://www.domainname.ext
此链接
<a href='page34'>Page 34</a>
<a href='item43'>Item 43</a>
之后,此链接
<a href='item43'>Item 43</a>
…但这需要对服务器端的内容进行相当大的更改。是否可以使用更简单的方法,例如?顺便说一句,为什么而不是“&”@Jay Wit:从浏览器端无法附加到查询字符串,因此没有。URL要么是绝对的,从基本路径开始,相对于当前方向,要么在仅指定查询字符串时相对于当前页面。@Jay Wit:在HTML中(甚至在表示
href
的字符串中),您必须提供&
作为字符实体(例如&
)。HTML解析器对此非常宽容,但从技术上讲,不这样做是错误的,并且在极少数情况下会给您带来麻烦(例如,如果未编码的&
后面的内容看起来可能是一个实体名称)。@Jay Wit:当字符实体出现在HTML中时,必须对其进行编码,符号和字符用于启动实体编码,保留字符也是如此&;是符号和字符本身的实体编码。不抱歉,页面id来自数据库,因此我无法手动执行。@JayWit基本上可以提供http_build_query()代码>带有一个满是你想要的参数的数组,它会为你吐出参数部分(后面的部分?)。
<a href='item43'>Item 43</a>
http://www.domainname.ext/page34/item43