我应该使用PHP';s filter_输入以检查Post变量是否存在?

我应该使用PHP';s filter_输入以检查Post变量是否存在?,php,filter-input,Php,Filter Input,我刚刚开始使用netbeans编写PHP代码,注意到我收到了一些代码警告,指出我不应该使用超全局变量,例如$\u POST。相反,我应该使用过滤器 我对filter\u input做了一些研究,非常了解它,但对于一个特定的实现——检查变量的存在性,我有一个问题 如果我的代码当前看起来像这样: if(isset($_POST['name'])) { ... do something ... } 我知道我可以使用: if(filter_has_var(INPUT_POST, 'name')

我刚刚开始使用netbeans编写PHP代码,注意到我收到了一些代码警告,指出我不应该使用超全局变量,例如$\u POST。相反,我应该使用过滤器

我对
filter\u input
做了一些研究,非常了解它,但对于一个特定的实现——检查变量的存在性,我有一个问题

如果我的代码当前看起来像这样:

if(isset($_POST['name'])) {
    ... do something ...
}
我知道我可以使用:

if(filter_has_var(INPUT_POST, 'name')) {
    ... do something ...
}
但是,如果我只想检查是否存在任何POST变量,该怎么办呢。i、 e:

if(isset($_POST)) {
    .. do something ...
}
使用下面的代码似乎是可行的,但我不想在不了解这是做什么或者它是否正确的情况下继续使用它

if(filter_input(INPUT_POST)) {
    ... do something ...
}

有人能给点建议吗?谢谢。

很抱歉我迟到了,但我想得到同样的答复。我发现我们可以使用,其中定义可以是一个过滤器常量,比如filter\u SANITIZE\u STRING,因为所有$\u POST元素都是字符串

if (filter_input_array(INPUT_POST, FILTER_SANITIZE_STRING)) {
    ... do something ...
}
我也测试了你提出的代码

if(filter_input(INPUT_POST)) {
    ... do something ...
}

而filter\u input(input\u POST)总是返回NULL并显示警告,因为filter\u input至少需要两个参数。

很抱歉,我迟到了,但我正在寻找相同的响应。我发现我们可以使用,其中定义可以是一个过滤器常量,比如filter\u SANITIZE\u STRING,因为所有$\u POST元素都是字符串

if (filter_input_array(INPUT_POST, FILTER_SANITIZE_STRING)) {
    ... do something ...
}
我也测试了你提出的代码

if(filter_input(INPUT_POST)) {
    ... do something ...
}

而filter_input(input_POST)总是返回NULL并显示警告,因为filter_input至少需要两个参数。

$\u POST
上调用
isset
似乎相当愚蠢,因为
$\u POST
应该始终被设置。如果有的话,您需要执行
计数($\u POST)
并确保获得大于零的值。只有在请求中发送了POST头时,才会设置$\u POST。如果我有一个带有表单的页面,并且提交表单会加载同一页面,该怎么办。在第一次加载时,不会设置$u POST。检查表单是否提交时在
$\u POST
上调用
isset
的if(isset($\u POST))似乎很愚蠢,因为应该始终设置
$\u POST
。如果有的话,您需要执行
计数($\u POST)
并确保获得大于零的值。只有在请求中发送了POST头时,才会设置$\u POST。如果我有一个带有表单的页面,并且提交表单会加载同一页面,该怎么办。在第一次加载时,不会设置$u POST。检查表格是否与if(isset($\U POST))一起提交是合理的