PHP - самый легкий способ получить $ _GET параметры представляет в виде строки, как записано в URL

Я пытаюсь перенаправить от одной страницы до другого при сохранении параметров.

например, если у меня есть страница page.php? param1=1&param2=2, что самый легкий путь состоит в том, чтобы извлечь "param1=1&param2=2"?

13
задан bcoughlan 29 June 2010 в 14:36
поделиться

3 ответа

Используйте $ _ SERVER ['QUERY_STRING'] для доступа ко всему, что находится после вопросительного знака.

Итак, если у вас есть URL:

http://www.sample.com/page.php?param1=1&param2=2

, то это:

$url = "http://www.sample.com/page2.php?".$_SERVER['QUERY_STRING'];
echo $url;

вернет:

http://www.sample.com/page2.php?param1=1&param2=2
35
ответ дан 1 December 2019 в 17:29
поделиться

$ _ SERVER ['QUERY_STRING']

Источник

7
ответ дан 1 December 2019 в 17:29
поделиться

я бы сделал

$querystring = '?'
foreach($_GET as $k=>$v) {
    $querystring .= $k.'='.$v.'&';
}
$url .= substr($querystring, 0, -1);

, где $ url уже содержит все до?

, вы также можете использовать $ _ SERVER ['QUERY_STRING'] , но в соответствии с руководством по PHP :

$ _ SERVER - это массив, содержащий такую ​​информацию, как заголовки, пути и расположение скриптов. Записи в этом массиве создаются веб-сервером. * Нет гарантии, что каждый веб-сервер предоставит что-либо из этого; серверы могут опускать некоторые или предоставлять другие, не перечисленные здесь. *

5
ответ дан 1 December 2019 в 17:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: