0

我正在开发一个基于网络的 iPhone 应用程序,也可能是一个 PC 友好的网站版本。这里的目标是允许用户提交一个表单,其中特定的输入值将存储到数据库中的一个表中。

请注意,正在收集此信息以供公开展示,并将发布到日历或列表中。

但是,为了防止任何拖钓或垃圾邮件,我想在提交之前必须批准提交到表格中。

我在创建表、连接到数据库、将输入值存储到相应的表列中都没有问题。唯一的问题是我将如何设置审批系统?我可以通过电子邮件向表格添加信息吗?有没有办法在 cPanel 中批准录取?

这是我希望尽可能顺利的事情,我希望每天都有大量的提交,其中包含相当多的信息。

4

2 回答 2

3

你可以有两种方法。

方法一

  • 有两个表格副本(您想要将信息保存到其中)。第一个应命名为 tableName_Input。第二个应该是 tableName_Final。

  • '_input' 中的任何数据都被视为原始数据,需要批准。一旦获得批准,数据将被移至“_final”。LIVE 列表/日历总是从“_final”数据中读取。

方法二

  • 有一个名为“isApproved”的列,其标志为 0/1。如果 1 批准,否则不批准。仅显示已批准的数据。

现在,您如何获得批准的数据?

  • 您有一个严格的规则,例如垃圾邮件过滤器,它告诉某些帖子是有效的并且默认情况下被批准
  • 在每个帖子之后,您向用户发送一封电子邮件或一些通知(用户独有 - 帖子),当回复时,应将其标记为已批准。

可选:您可以放置​​一个名为“批准意见”的列,以便在批准时填写一些内容。

流程图

  • 'FirstSubmitContent' - 用于在批准之前存储用户提交信息的表。
  • 'FinalSubmitContent' - 存储最终信息的表

代码页

  • 内容页面 --> 包含用户填写内容的表单
  • ContentActionPage --> 调用控制器 --> 调用模型
  • 控制器 --> 根据页面动作调用模型
  • 模型 --> 与数据库表交互

流程中各个步骤的流程图

我现在没有任何工具可以编写更详细的代码或流程图。我希望这会朝着正确的方向发展。

于 2013-05-20T04:38:53.910 回答
1

在提交时验证表单并将信息保存在数据库中的临时表中,并使用随机分配的激活码(您可以使用sha1)。然后向用户发送一封包含激活码和验证链接的电子邮件,即。domain.com/activate.php?code=abcde12345.

激活页面可以非常简单,只需一个$_GET['code']. 然后检查您是否在数据库中找到该代码的匹配项,最后使用您之前收集的所有信息准备查询以永久存储它。

然后,您可以创建一个 cron 作业,每 24-48 小时从该表中删除所有记录,以便用户必须在该时间范围内激活。

于 2013-05-20T04:35:43.357 回答