从具有相同名称的多个输入字段中检索数据

时间:2012-10-28 18:47:29

标签: php forms post input

我有一个动态创建新输入字段(type = hidden)的表单,在发送表单时应该通过我的php代码检索。但是,由于输入字段的数量可能不同,我给它们指定了相同的名称。然而问题是我不知道如何检索它,或者更准确地说,如何检索它。

来自表单的

...
<input type='hidden' name='newListObject' value='0' />
<input type='hidden' name='newListObject' value='1' />
<input type='hidden' name='newListObject' value='2' />
<input type='hidden' name='newListObject' value='3' />
...
来自php代码(listView.php)的

private $m_newListObject = 'newListObject';
...
if (isset($_POST[$this->newListObject])) {
    $listObjects = $_POST[$this->m_newListObject];
}
来自php代码(listModel.php)的

//Below doesn't work because $listObjects isn't an array

foreach ($listObjects as $listObject) {
    $query = "INSERT INTO listElement (listElemName, listId) VALUES(?, ?)";

    $stmt = $this->m_db->Prepare($query);

    $stmt->bind_param('si', $listObject, $listId);

    $ret = $this->m_db->RunInsertQuery($stmt);

}

2 个答案:

答案 0 :(得分:3)

<input type='hidden' name='newListObject[]' value='0' />
<input type='hidden' name='newListObject[]' value='1' />
<input type='hidden' name='newListObject[]' value='2' />
<input type='hidden' name='newListObject[]' value='3' />

现在使用$_REQUEST['newListObject']作为array()

答案 1 :(得分:1)

如果你调用它们name="newListPObject[]" PHP会将它们作为一个可以循环的数组接收。