Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/227.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 多个同时进入URL?_Php_Html - Fatal编程技术网

Php 多个同时进入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

我试图从URL中获取变量,但每当URL已经有一个查询时,它就会被下一个查询覆盖。例子: 我有一个链接

<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}&amp;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, '', '&amp;');  //page=34&amp;&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