如何在PHP中创建用户可自定义的表单?

如何在PHP中创建用户可自定义的表单?,php,Php,我所在大学的一个系已经要求CS系建立一个网站,让校园里的教师们可以为每年举行一次的感谢早餐进行RSVP。然后,他们希望能够从某个管理页面调出所有已注册参加活动的人 这不是一个真正的问题,我可以创建一个简单的表单并将结果存储在我们这里的MySQL数据库中 然而,我不确定的是,他们希望它是“可定制的”。也就是说,他们不仅希望能够更改RSVP问题的文本,还希望能够在表单中添加更多问题。他们还希望能够自定义横幅图像是什么 是否有任何库或技术可以使这种定制稍微不那么痛苦?我如何让他们能够配置一些任意数量的

我所在大学的一个系已经要求CS系建立一个网站,让校园里的教师们可以为每年举行一次的感谢早餐进行RSVP。然后,他们希望能够从某个管理页面调出所有已注册参加活动的人

这不是一个真正的问题,我可以创建一个简单的表单并将结果存储在我们这里的MySQL数据库中

然而,我不确定的是,他们希望它是“可定制的”。也就是说,他们不仅希望能够更改RSVP问题的文本,还希望能够在表单中添加更多问题。他们还希望能够自定义横幅图像是什么


是否有任何库或技术可以使这种定制稍微不那么痛苦?我如何让他们能够配置一些任意数量的表单字段,并且仍然将它们适当地保存在数据库中?

cms拥有这样一个表单生成器。您可以将其用于该目的,也可以查看其源代码,因为它是根据LGPL获得许可的。

听起来他们需要CMS。您可以查看现有的Joomla或Drupal,但与您描述的简单应用程序相比,它们非常“大”。如果你自己做的话,你可以考虑创建一个存储字段的表格。
Fieldid   fieldname  fieldlabel ...
  1         fname      First Name
  2         lname      Last Name
  3         meat       Do you like Meat?
...
然后,您可以创建一个表单,允许他们添加他们认为合适的新字段。然后,要生成表单,您需要在这个表中循环,并为找到的每个字段创建一个输入

当他们提交表单时,您可以在字段列表中循环以获取值并将其存储在另一个表中

 Answerid    Fieldid    Answer
   1            1         Jack
   2            2         Black
   3            3         Yes

  ....

当然,这是一个过于简单的外观,我认为随着你的进步,它会变得更加复杂

为什么不将问题存储在数据库中,并创建另一个管理页面,允许他们添加/删除/编辑问题?您也可以将横幅图像存储在某个位置。

我将创建一个包含如下列的表(例如,根据需要添加字段)

  • UID(优先级键)
  • 表格编号
  • 输入标签
  • 输入类型
  • 默认值
然后,当您使用表单时,您只有一个表单编号。编写一个函数从这个表中获取元素,并根据每个元素创建一个输入-您首先输入这些数据的方式需要另一个表单。这样您就可以拥有可变长度的字段。您甚至可以有一个模板表,并在其中保存表单

我将表单配置存储在一个单独的表中


一如既往,正确地验证输入——如果您从用户输入中呈现HTML,并考虑存储过程,这将是至关重要的。

我看了一下这个CMS,它非常有趣。我将不得不进一步调查。