0

新しい入力フィールド (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);

}
4

2 に答える 2

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()

于 2012-10-28T18:49:47.687 に答える
1

それらを呼び出すと、name="newListPObject[]"PHP はそれらをループ可能な配列として受け取ります。

于 2012-10-28T18:50:28.587 に答える