使用所有$ _POST提交的PHP更新数据库

时间:2016-10-25 15:53:18

标签: php forms

我想知道是否有更简单的方法来编写我想要制作的脚本。

我正在尝试使用我在表单上的字段更新数据库中的所有字段以进行系统设置。

我的数据库结构是: ID settingName 值

我有一个函数,可以通过

的方式为我更新数据库
$opt->update_option('optionName', 'value');

有没有办法在POST期间指定相应的optionName值是什么,这样我就可以通过foreach循环运行它而不必为每个表单值手动编写update_option?

即表单发布时,它会发送如下内容: SiteName:Stackoverflow然后我可以运行for循环来拆分分隔符:

并执行数据库更新?

感谢您的任何意见!

1 个答案:

答案 0 :(得分:1)

你可以这样做:

<input type="text" name="sitename" value="Stackoverflow">

然后:

foreach($_POST as $option => $value) {
    $opt->update_option($option, $value);
}

但为了保持你想要的价值与你不同的价值,我会使用一个数组:

<input type="text" name="options[sitename]" value="Stackoverflow">

然后:

foreach($_POST['options'] as $option => $value) {
    $opt->update_option($option, $value);
}

这可能是一个接受数组的函数。无论如何,在update_option()函数中,您需要进行检查和转义。不要只是将数据转储到查询中。见How can I prevent SQL injection in PHP?