我有一个动态创建新输入字段(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);
}
答案 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会将它们作为一个可以循环的数组接收。