1

问题是我想在浏览页面时保留与 GET 表单一起使用的搜索变量。就像谷歌在你搜索某物然后你想搜索图片时所做的那样,你只需点击图片而不需要替换搜索。我确实看到他们的图像或其他类型的搜索的链接在创建页面时已经在 url 中有 GET 字符串。那么是否有一个变量包含来自 url 字符串的所有内容,我可以将它放回 href 到下一页。

示例:我当前的网址:并且我有一个指向另一个页面的链接让我们说 edit.php 放置一个类似 echo 的代码和 thislocalhost/index.php?name=John 来回显会很有用'edit.php?'.$GET_var.';edit.php?name=John

编辑:我可能会使用$string = http_build_query($_GET); 但另一件事是使用index.php. 因此,如果我在此页面上(index.php),是否应该是指向此页面的链接index.php以及其他具有 ?query 参数的链接

4

4 回答 4

2

我建议使用内置的parse_url.

$url ="http://localhost/index.php?name=John";
$result = parse_url($url);
$newUrl = 'http://localhost/index.php?' . $result['query'];

或者,也许稍微干净一点,使用组件参数parse_url

$url ="http://localhost/index.php?name=John";
$query = parse_url($url, PHP_URL_QUERY);
$newUrl = 'http://localhost/index.php?' . $query;

阅读有关parse_url的信息。

于 2014-08-20T06:26:07.417 回答
1

你可以试试这个

// suppose your url is index.php?name=john&city=jordan

$arr_temp = array();
foreach($_GET as $key=>$val)
{
   $arr_temp[] = $key."=".$val; // name=john or city=jordan into arr_temp array
}

$params = implode("&", $arr_temp); // implode with & name=john&city=jordan

echo 'edit.php?'.$params; // combine params to new link

更新 2:

$params = $_SERVER['QUERY_STRING'];
echo 'edit.php?'.$params;
于 2014-08-20T06:22:05.343 回答
1

要使用 php 将 $_GET 变量从一页移动到另一页,您可以使用 htt_build_query 函数作为

$string = http_build_query($_GET);

将该 $string 附加到您的 url 即 YOUR_URL?$string

于 2014-08-20T06:31:30.917 回答
0

$_SERVER['QUERY_STRING']有你的 GET 变量。您可能还想查看phpinfo()以了解您还有什么可用的。

于 2014-08-20T06:31:05.157 回答