0

我正在发送带有表单的多个输入,如何获取实际输入的 id,以便我可以更新 mysql 内容?

我的代码:

if (isset($_POST['save']))
    {
    foreach ($_POST as $key => $value)
        {
        ${$key} = $value;
        mysql_query("UPDATE table SET img='$image_[id]', title='$title_[id]' where id='$id'");
        }
    }

while ($row = mysql_fetch_array($result))
    {
    echo "<b>Title: </b><input type='text' name='title_" . $row['id'] . "' value='" . $row['title'] . "'><br />";
    echo "<b>Image: </b><input type='text' name='image_" . $row['id'] . "' value='";
    }
echo '<input type="submit" name="save" value="save"><br /><hr>';
echo '</form>';
4

1 回答 1

0

你的命名是错误的。使用这种方式。

echo "...    name='title[" . $row['id'] . "]'...";

在它之后,您$_POST['title']将包含一系列标题。

并阅读手册如何在 HTML 中创建数组?


但如果你还是那样走。你可以使用这样的东西。

foreach ($_POST as $key => $value)
    {
    if (preg_match('^image_(\d*)$', $key, $matches))
        {
        $id = $matches[1];
        if (isset($_POST['title_' . $id]))
            {
            mysql_query("UPDATE table SET title='" . $_POST['title_' . $id] . "' where id='$id'");
            }
        }
    }

但是在这里签名表明您了解此代码的所有漏洞。

于 2013-04-04T00:22:41.937 回答