为什么filter_input()没有获取任意POST数据?

时间:2014-11-16 06:03:16

标签: php forms post

我注意到在以编程方式设置POST数据时,PHP函数filter_input()将无法检索数据。

例如:

<?php
$_POST['test'] = 123;
$test = filter_input(INPUT_POST, 'test');
var_dump($test);

// Output: null
?>

如果filter_input从$ _POST中检索数据,并且$ _POST ['test']是有效的引用,为什么它会返回null?

1 个答案:

答案 0 :(得分:2)

$_POST是解析后的POST主体,变成了一个数组。当您向$_POST添加密钥时,您需要将添加到之后解析POST正文数据。

当您使用filter_input时,它会从实际的POST正文中获取数据,而不是$_POST