【发布时间】:2014-11-16 14:16:19
【问题描述】:
我注意到在以编程方式设置 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?
【问题讨论】:
-
因为它的来源不是由用户输入提供的。你基本上回答了你自己的问题。
-
有趣的是我仍然一无所知。请详细说明。
-
这是不言自明的。你去过the manual吗?它特别声明“INPUT_GET、INPUT_POST、INPUT_COOKIE、INPUT_SERVER 或 INPUT_ENV 之一”,然后是一些。没有提到以编程方式。
-
我明白这一点。如果你注意到了,我什至在示例中包含了
INPUT_POST。如果 filter_input 从 $_POST 检索数据,并且 $_POST['test'] 是有效引用,为什么它返回 null? -
@reformed 因为它来自代码!您必须提交表格并将请求发回!然后 filter_input 工作!