Как прочитать параметр из строки запроса 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);