【问题标题】:filtering post fields (using fieldsets?)过滤帖子字段(使用字段集?)
【发布时间】:2018-09-28 14:50:48
【问题描述】:

您好,我无法过滤我的帖子值。当我发布它会返回一个数组,如:

Array ( [db-table] => afdeling 
        [box-2] => 2 
        [box-3] => 3 
        [db-fields] => array( random fields )
        [box-6] => 6
)

表单由 4 个部分组成,首先一些文本框位于字段集中,然后在第二个字段集中标记 1 - 4 的 4 个复选框,然后在第三个字段集中再添加一些文本框,最后,再有 4 个标记为 5 - 8 的复选框在第四个字段集中。字段集被命名为:

  • 数据库表数据
  • 复选框-1
  • 数据库字段数据
  • chechboxes-2

我还寻找了诸如“从帖子中过滤相似的命名字段”之类的东西,并尝试使用一些数组函数,例如带有 2 个 for 循环的 array_keys/filter 来逐个获取它们,但我没有让它起作用。

最后我期望做的是将$_POST中的数组过滤成这样的结构:

Array ( 
  'db-data' =>    array( [db-table] => afdeling 
                         [db-fields] => array( random fields )
                  ),
  'checkboxes' => array( [box-2] => 2 
                         [box-3] => 3 
                         [box-6] => 6
                  )           
)

那么有人可以将我推向正确的方向,将字段从数组中过滤出来吗?

补充:

此时我试图按字母顺序排列数组,以便盒子-?字段将位于数组的开头或结尾。

这个问题是那个盒子-?场可以出现 1 到 8 次。所以我需要某种方法来计算每个数组键,看起来像:box-?。要知道其中有多少。

【问题讨论】:

    标签: php arrays post filtering fieldset


    【解决方案1】:

    您可以使用[] 命名您的字段,例如:

    <input name="db-data[db-table]" ... />
    <input name="db-data[db-fields][first-field]" ... />
    <input name="db-data[db-fields][second-field]" ... />
    
    <input name="checkboxes[box-1]" ... />
    <input name="checkboxes[box-2]" ... />
    

    在这种情况下,您的 $_POST 数组已经具有您想要的结构。

    【讨论】:

    • w8 会像 O.o 那样对它们进行分组吗?让我试试这个。
    • 哦,哇,我真的不知道这个 O.o 非常感谢,这完全有效。我试图在 php 方面过滤它们,但不知道这是 html 中的东西,非常感谢!
    猜你喜欢
    • 1970-01-01
    • 2017-05-10
    • 1970-01-01
    • 2012-10-03
    • 1970-01-01
    • 2018-01-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多