Как прочитать параметр из строки запроса HTTP

у меня есть следующий URL

http://www.example.com/node/add/forum/3?gids[]=13

Я хочу получить значение 13 из моего модуля.

Я пробовал с

$_GET['gid[]']

и

$_GET['gids%5B%5D']

но я всегда получаю null.

как я могу это сделать? Спасибо

3 ответов


предполагая, что URL-адрес правильно закодирован (gids%5B%5D), и это единственный элемент в массиве, то содержимое этого первого элемента в gids будет в $_GET['gids'][0].


Так как это помечено ключевым словом "drupal" и появляется в поиске Google. Drupal 7 способ сделать это и делает его простым в использовании drupal_get_query_parameters (). Это вернет ассоциированный массив всех переменных и значений из строки запроса сразу.

используя это, когда вы храните информацию, поступающую из URL, она была санирована для атак XSS и SQLi.


в PHP 5.2+, использовать filter_input() для чтения переменных GET и POST:

$gids = filter_input(INPUT_GET, 'gids', FILTER_DEFAULT, FILTER_FORCE_ARRAY | FILTER_FORCE_ARRAY);