- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
INPUT_POST PHP过滤函数参数 filter_input_array() 例如在
filter_input_array(INPUT_POST, FILTER_SANITIZE_STRING);
<?php
// 1.
$_POST['abc'] = '123';
var_dump($_POST);
// 2.
$_POST = filter_input_array(INPUT_POST, FILTER_SANITIZE_STRING);
var_dump($_POST);
?>
index.php:4:
array (size=1)
'abc' => string '123' (length=3)
index.php:8:null
$_POST = filter_input_array(INPUT_POST, FILTER_SANITIZE_STRING, true);
最佳答案
$_POST 和 INPUT_POST 之间没有直接联系。
后者仅指定 filter_input_vars 应该从最初用于填充 $_POST 的相同源获取要过滤的数据。稍后对 $_POST 的操作不会改变最初发送到脚本的 POST 数据。
您可以通过设置一个将隐藏输入字段发布到脚本的小表单来轻松验证这一点。然后在该脚本中向 $_POST 添加一个附加条目,就像您在上面的示例中所做的那样。你会看到 filter_input_array(INPUT_POST, FILTER_SANITIZE_STRING)
返回一个数组,其中包含隐藏字段的条目,但不包含您手动添加到 $_POST 的条目。
那http://php.net/manual/en/filter.constants.php将 INPUT_POST 描述为“POST 变量”,并且指向 $_POST 描述的链接在这里可能有点误导,当然。但公平地说,它在那里说 POST,而不是 $_POST。
so be sure, to put
$_POST = filter_input_array(INPUT_POST, FILTER_SANITIZE_STRING, true);
on the top of your scripts!
关于PHP:INPUT_POST(在 filter_input_array 中使用)覆盖之前对 $_POST 的所有修改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45732836/
我正在尝试使用 filter_input_array() 来验证一些发布数据。尽管我尽了最大努力,该函数似乎在 $filter 数组内返回空值(通过条件),而不是像我预期的那样验证失败并返回 fals
有没有办法用 PHP 的 filter_input_array 过滤/清理多维 POST 数据? 给定一个产生以下 POST 数据的表单: $_POST[ 'level1a' => [
INPUT_POST PHP过滤函数参数 filter_input_array() 例如在 filter_input_array(INPUT_POST, FILTER_SANITIZE_STRING)
我是一名优秀的程序员,十分优秀!