@gage GET параметры паредается в URL и в формате "domain.com?test=123&test2=321" все что после ? идут в формате ключ=значение и разделяются & символом, пример:
1 2 3 4 5 6 7 8 9 10 11 12 |
echo '<a href="http://domain.com.php?test=123&test2=321>Сортировка</a>'; if ($_GET['test'] == '123') { // что то } if ($_GET['test2'] == '321') { // что то } // Все параметры можно увидеть в виде массива var_dump($_GET); // Только GET параметры var_dump($_REQUEST); // $_GET, $_POST и $_COOKIE |
Имейте ввиду что некоторые браузеры имеют максимальную длинну GET параметров и желательно чтобы строка не превышала 2048 символов.
Рекомендую также оборачивать GET параметры urlencode и конвертировать специальные символы:
1 2 |
$userinput = "test"; echo '<a href="http://domain.com/test.php?t=est', urlencode($userinput), '">'; |
@gage
Чтобы передать параметры в GET-запросе в PHP, вы можете использовать функцию http_build_query()
. Она принимает ассоциативный массив с параметрами и возвращает строку запроса, которую вы можете добавить к URL.
Например:
1 2 3 |
$params = array('name' => 'John', 'age' => 30); $query = http_build_query($params); $url = 'http://example.com/submit.php?' . $query; |
Это создаст URL вида http://example.com/submit.php?name=John&age=30
.
Вы также можете просто объединить массив с параметрами с помощью символа &
, чтобы получить строку запроса:
1 2 |
$query = 'name=John&age=30'; $url = 'http://example.com/submit.php?' . $query; |
В обоих случаях вы получите тот же результат.