首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >PHP过滤器,如何过滤输入数组

PHP过滤器,如何过滤输入数组
EN

Stack Overflow用户
提问于 2010-05-04 04:11:28
回答 2查看 17.8K关注 0票数 16

我正在使用PHP过滤器来执行表单数据的基本消毒和验证。

我遇到的主要问题是,我标记了我的表单,以便所有数据都在一个数组中,用于POST输入。例如表单字段、页面名称、页面段、页面主体、页面状态等。

使用以下内容:

代码语言:javascript
复制
filter_input(INPUT_POST, 'page[name]', FILTER_SANITIZE_STRING);
OR
filter_input(INPUT_POST, "page['name']", FILTER_SANITIZE_STRING);

我无法访问该变量。有人能告诉我使用filter_input()访问数组数据的正确名称吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-05-04 04:39:32

我不认为您可以访问单个值(很容易,就像您想要的那样),但是您可以只过滤page数组并获得您想要的值。

代码语言:javascript
复制
$page = filter_input(INPUT_POST, 'page', FILTER_SANITIZE_STRING, FILTER_REQUIRE_ARRAY);
if (array_key_exists('name', $page)) {
    $name = $page['name'];
}

或者,如果您不介意失去处理原始输入的能力,那么您可以只使用:

代码语言:javascript
复制
if (isset($_POST['page']['name'])) {
    $name = filter_var($_POST['page']['name'], FILTER_SANITIZE_STRING);
}

然而,这两者都相当丑陋。

票数 15
EN

Stack Overflow用户

发布于 2010-05-04 04:34:23

怎么样

代码语言:javascript
复制
$_POST['page'] = filter_var_array($_POST['page'], FILTER_SANITIZE_STRING);
票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2760886

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档