保持GET变量从一个页面到另一个页面


Keeping GET variables from 1 page to anonter

问题是,我希望保留在移动页面时与GET表单一起使用的搜索变量。这就像谷歌所做的,当你搜索一些东西,然后你想搜索图片,你只需要点击图片,不需要替换搜索。我确实看到他们的图像或其他类型的搜索的链接已经有GET字符串在url时创建的页面。所以有没有一个变量,包含所有从url字符串,我可以把它放在href到下一页。

示例:我当前的url: localhost/index.php?name=John我有一个到另一个页面的链接比如edit。php输入类似echo 'edit.php?'.$GET_var.';这样的代码并将其echo到edit.php?name=John

将会很有用。

编辑:我可能会用$string = http_build_query($_GET);但另一件事是得到index.php的部分。如果我在这个页面(index。php)如果到这个页面的链接应该是index.php其他链接应该有?查询参数

我建议使用内置的parse_url

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

或者使用parse_url的component参数:

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

阅读parse_url

你可以试试这个

// 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

UPDATE 2:

$params = $_SERVER['QUERY_STRING'];
echo 'edit.php?'.$params;

使用php将$_GET变量从一个页面移动到另一个页面你可以使用htt_build_query函数

$string = http_build_query($_GET);

将$字符串附加到您的url,即YOUR_URL?美元字符串

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