PHP - самый простой способ получить строку параметров $_GET, указанную в URL-адресе
Я пытаюсь перенаправить с одной страницы на другую, сохраняя параметры.
например. если у меня есть страница page.php? param1 = 1 & param2 = 2, что самый простой способ извлечь "param1 = 1 & param2 = 2"?
Ответы
Ответ 1
Используйте $_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
Ответ 2
$_SERVER['QUERY_STRING']
Источник
Ответ 3
В дополнение к Robs ответьте:
Вы можете использовать http_build_query и $_GET.
Это встроенный и может работать с массивами.
Также вы можете легко манипулировать параметрами GET таким образом, прежде чем их снова соединить.
unset($_GET['unsetthis']);
$query = http_build_query($_GET);
Ответ 4
я сделал бы
$querystring = '?'
foreach($_GET as $k=>$v) {
$querystring .= $k.'='.$v.'&';
}
$url .= substr($querystring, 0, -1);
где $url
уже содержит все до <? p >
вы также можете использовать $_SERVER['QUERY_STRING']
, но в соответствии с руководством PHP:
$_ SERVER - это массив, содержащий информацию, такую как заголовки, пути и местоположения script. Записи в этом массиве создаются веб-сервером. * Нет гарантии, что каждый веб-сервер предоставит любой из них; серверы могут опускать некоторые или предоставлять другим, не перечисленным здесь. *