我想在保留参数的情况下从一个页面重定向到另一个页面。
例如,如果我有一个带有参数 param1=1¶m2=2 的页面 page.php,最简单的方法是提取 "param1=1¶m2=2" 是什么?
我想在保留参数的情况下从一个页面重定向到另一个页面。
例如,如果我有一个带有参数 param1=1¶m2=2 的页面 page.php,最简单的方法是提取 "param1=1¶m2=2" 是什么?
使用$_SERVER['QUERY_STRING']
访问问号后面的所有内容。
因此,如果您有以下URL:
http://www.sample.com/page.php?param1=1¶m2=2
然后是这个:
$url = "http://www.sample.com/page2.php?".$_SERVER['QUERY_STRING'];
echo $url;
将返回:
http://www.sample.com/page2.php?param1=1¶m2=2
unset($_GET['unsetthis']);
$query = http_build_query($_GET);
i would do
$querystring = '?'
foreach($_GET as $k=>$v) {
$querystring .= $k.'='.$v.'&';
}
$url .= substr($querystring, 0, -1);
其中$url
已经包含了问号之前的所有内容。
你也可以使用$_SERVER['QUERY_STRING']
,但是根据PHP手册:
$_SERVER是一个包含头部、路径和脚本位置等信息的数组。这个数组中的条目是由Web服务器创建的。*并不保证每个Web服务器都会提供它们;服务器可能省略一些,或者提供其他未在此处列出的信息。*
$_SERVER['QUERY_STRING']
。大多数基于PHP的系统都依赖它的存在。 - Michael Mrozekkey[innerkey]=value
。它将会得到这样的结果:key=Array
。 - ivoba