首页 > 解决方案 > 无法使用 phpBB 3.3 的请求类获取复选框数组

问题描述

我有一个 POST 表单,其中包含 PHP 在循环中生成的以下复选框:

echo '<input class="form-check-input" type="checkbox" name="delist_ids[]" value="'.$row['id'].'" aria-label="Delist blacklisted server">';

然后在提交时,我试图获取包含用户复选框(delist_ids)的数组。我在最新的 phpBB 中使用 Request 类:

$delist_ids = $request->variable('delist_ids', array(), true, \phpbb\request\request_interface::POST);

但它只返回默认的空数组。我怎样才能让它返回选中框的 id?

标签: arrayscheckboxphpbbphpbb3

解决方案


我联系了 phpBB,他们团队中的一个人 (paul999) 指出了我做错了什么。

显然我应该在默认条目(我的 array() 所在的位置)中设置值,所以工作代码是:

$delist_ids = $request->variable('delist_ids', [0 => 0], false, \phpbb\request\request_interface::POST);

推荐阅读