将所有GET请求存储在单个变量PHP中

JD *_*udi 2 php variables post get

我试图在一个变量中存储发送到站点的任何和所有变量(仅用于记录目的.)

因此,如果用户访问www.mysite.com并输入?id = 4&auth = 230984721839

我想抓住这两个GET并将它们存储在诸如$ gets之类的变量中

我在努力:

$gets = print_r($_GET);
$posts = print_r($_POST);
Run Code Online (Sandbox Code Playgroud)

但它没有用.这甚至可能吗?我不希望用户知道我正在捕捉这些.

我也想抓住POST!

Pau*_*aul 7

您可以向print_r添加一个标志,告诉它返回结果而不是输出结果.

$gets = print_r($_GET, true);
$posts = print_r($_POST, true);
Run Code Online (Sandbox Code Playgroud)

但是,您可能希望查看序列化关联数组.

更新

根据您对问题的评论,我想您真的想要:

$gets = $_SERVER['QUERY_STRING'];
$posts = file_get_contents('php://input');
Run Code Online (Sandbox Code Playgroud)

  • 出于记录目的,获取未解析的数据以捕获任何非法查询可能更好. (2认同)

Roc*_*mat 5

如果您想要两者$_GET$_POST作为查询字符串,您可以这样做:

$gets = http_build_query($_GET);
$posts = http_build_query($_POST);
Run Code Online (Sandbox Code Playgroud)