如何从HTTP查询字符串中读取参数

问题描述

| 我有以下网址
http://www.example.com/node/add/forum/3?gids[]=13
我想从模块中获取
13
。 我尝试过
$_GET[\'gid[]\']
$_GET[\'gids%5B%5D\']
但是我总是得到
null
。 我怎样才能做到这一点? 谢谢     

解决方法

假设URL已正确编码(gids%5B%5D),并且该URL是数组中的唯一元素,则gid中第一个元素的内容将为
$_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);