PHP получить все переменные URL - PullRequest
1 голос
/ 09 марта 2012

Я пытаюсь сделать ссылки для включения текущих переменных _GET.

Пример ссылки: <a href="?page=2">Page 2</a>

Текущий URL: http://example.com/test.php?id=2&a=1

Такесли кто-то нажимает на ссылку на странице 2, он принимает их: http://example.com/test.php?id=2&a=1&page=2

В настоящее время, если они нажимают на ссылку, он принимает их: http://example.com/test.php?page=2

Как видите,Мне нужен способ получить текущие переменные _GET в URL и добавить их в ссылку.Совет

Ответы [ 5 ]

13 голосов
/ 09 марта 2012
$new_query_string = http_build_query(array_merge($_GET,array('page' => 2)));
9 голосов
/ 09 марта 2012

Суперглобальная запись $_SERVER['QUERY_STRING'] содержит строку запроса.Вы можете просто добавить это к любым дальнейшим ссылкам.

update: Альтернативный ответ на этой странице, использующий http_build_query, лучше, потому что он позволяет добавлять новые переменные в строку запроса, не беспокоясь о посторонних?Но я оставлю это здесь, потому что я хотел упомянуть, что вы можете получить доступ к буквенной строке запроса, которая находится в текущем адресе.

0 голосов
/ 16 февраля 2015

Что касается вышеприведенного вопроса, как включить имя php-файла в URL-адрес, используя идеальный метод Your Common Sense и добавив вопросительный знак, который работал для меня:

0 голосов
/ 28 октября 2014

Попробуйте это может помочь вам ......

function get_all_get()
{
        $output = "?"; 
        $firstRun = true; 
        foreach($_GET as $key=>$val) { 
        if($key != $parameter) { 
            if(!$firstRun) { 
                $output .= "&"; 
            } else { 
                $firstRun = false; 
            } 
            $output .= $key."=".$val;
         } 
    } 

    return $output;
}   
0 голосов
/ 09 марта 2012

Используйте @extract($_GET). Таким образом, вы можете обращаться к ним напрямую как к переменным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...