清理帖子阵列?

时间:2016-06-09 15:31:53

标签: php html post checkbox mysql-real-escape-string

我是PHP的新手,我正在尝试在我的网络表单中添加预防措施以避免滥用,这些来自用户的输入被存储到数据库中。在尝试通过整个post数组时,我不断收到错误。我相信它与复选框有关。

我有以下功能:

function CleanArray($array) {

        return array_map('mysql_real_escape_string', $array);
}

我还有2个输入字段和一堆多个复选框。

示例:

 <input type="checkbox" name="decks[]" value="All Decks"/>
  <label>All Decks</label>
  <br>
  <input type="checkbox" name="decks[]" value="Competitor"/>
  <label>Competitor</label>

现在,当我执行此代码时,它会标记错误并且不会输出多个复选框值(我选择了几个)。

$_POST = CleanArray($_POST);
  

警告:mysql_real_escape_string()期望参数1为字符串,

所以我决定从数组中取消设置问题位,然后单独清理它并将其添加回数组中。这有效,我得到了我需要的所有数据。我觉得这是一项很大的努力,是否真的需要它?

    $decks = $_POST['decks'];
    unset($_POST['decks']);
    $_POST = CleanArray($_POST);
    $decks = CleanArray($decks);
    $_POST['decks'] = $decks;

我的输出:

  

您好   你好   所有甲板,竞争对手,杂项,合作伙伴和利益相关者,流程,产品,结构和角色

任何建议都将不胜感激。我觉得这是错误的错误,也许我不太了解这个功能。

由于 海莉

0 个答案:

没有答案