【发布时间】:2019-08-20 10:44:05
【问题描述】:
我正在 WordPress 插件中制作表单构建器,但我不知道如何从用户制作的表单中保存表单数据,该表单可以通过多种不同方式创建。
我想把这个从数据保存到一个 MySQL 表中,在这个站点和 www 的其余部分都有大量的工作指南,但是这些工作假设“接收”端知道如何表单已设置。
我没有那个选项。
示例代码可以是任何类型的形式:
<form action= "insert.php" method= POST">
<input type ="text" name"name">
<input type ="number" name"phone">
<input type="submit">
</form>
一个示例问题是突然添加更多输入字段,例如:
<form action= "insert.php" method= POST">
<input type ="text" name"name">
<input type ="text" name"lastname">
<input type ="email" name"email">
<input type ="text" name"town">
<input type ="number" name"zip">
<input type ="tel" name"phone">
<input type="submit">
</form>
然后在 insert.php 中(连接到 DB 后)
if(isset($_POST['submit])){
$name=$_POST['name'];
$number =$_POST['phone'];
}
$query= "INSERT INTO formdata(name,phone) VALUES('$name','$number');
我想要一种几乎能够从任何类型的表单接收任何类型的数据的方法,从最简单的评论和联系表单到包含 50 多个部分的大型表单。
我目前唯一的想法是添加对每种类型的许多许多许多元素的支持,但这看起来既不好也不感觉好。
现在,如果我要在表单构建器中添加更多表单元素,我还必须直接进入代码并更改“接收”部分,以匹配会破坏发布/保存功能的单个表单其余的表格。
【问题讨论】:
-
所以你想要一种方法插入到输入名称代表列的列中,而只是
insertAllForm($_POST)? -
一个明显的选择是在数据库中创建一个“
data”文本列,然后将整个 $_POST 对象存储为 JSON 或 php 序列化字符串。 -
我并没有真正看到必须将其添加到表单中并手动将其添加到查询中的问题。您不是经常更改表单的输入吗?
-
@Qirel 他想要一个通用的函数和数据库模式,可以处理任何形式,无论字段如何。
-
@USDMatt 刷新我的答案,我给了他他需要的东西,并详细介绍了如何实现这一点。他有两个选择。
标签: php html mysql wordpress forms