【问题标题】:form confirmation before submit to mysql提交到mysql之前的表单确认
【发布时间】:2011-05-07 08:19:35
【问题描述】:

我处理过非常大的表单,它可以很好地向 mysql 提交结果。但我想显示输入的表单数据的确认信息,以便用户在提交到 mysql 之前如果有任何更改需要进行更新。

我应该使用什么来实现这一点? $_POST 还是 $_SESSION?请告诉我您的建议。

【问题讨论】:

  • 取决于表单处理的数据量 - POST 更好,但 Session 可能是唯一真正的选择。
  • 使用 jquery,我相信您可以在允许他们提交之前将他们输入的任何内容粘贴到某种 div 表单布局的输入字段中作为预览。
  • 你试过用谷歌搜索 JQuery 吗?实际上是jquery.com。 JQuery 将允许您这样做,但您仍然必须自己编写代码才能实现。

标签: php forms confirmation


【解决方案1】:

$_POST 绝对是选择,因为它不需要在会话中再次存储。 只需显示确认信息,如果用户选择是,那么您可以从您已经存储的 $_POST 变量中插入它们。

【讨论】:

  • $_POST 中的数据在一个请求的生命周期后是否仍然存在?
  • 不,但这就是为什么确认页面应该包含另一个表单,其中所有已发布的数据都在隐藏字段中。当用户确认时,他们实际上提交了包含隐藏字段的第二个表单。
【解决方案2】:

两者兼而有之?

当用户提交表单时,如果您不让 javascript 为您完成,请使用 $_POST 获取参数并进行一些验证。

将这些参数与确认按钮一起显示在另一个页面中。

您可以在$_SESSION 中保留输入一段时间,当用户确认后,将其发送到mysql。

【讨论】:

  • 除非不需要,否则我不想同时使用两者。我想选择哪一个能很好地实现这一目标?
  • 我认为在您的情况下,一旦提交确认,将其存储在会话中会更有效......除非您想在确认中的隐藏输入字段中写入表单输入页面。
【解决方案3】:

您应该使用JAVASCRIPT 验证来检查此表单的验证,如果所有字段都具有有效值,则通过POST 方法提交表单。现在您将在$_POST 中获得所有字段。

谢谢。

【讨论】:

  • 对于验证,javascript 不是完全证明。如果用户在浏览器中关闭了 javascript 会怎样?
  • 如果是这样就会有问题,那么您需要在服务器端脚本中使用 PHP 进行验证。谢谢。
【解决方案4】:

将 POST 用于非 cookie、非 javascript 解决方案
确认页面将在隐藏字段中包含以前的表单数据,并且数据将使用“是”按钮再次提交

【讨论】:

    【解决方案5】:

    这是一个使用 jquery http://jsfiddle.net/robx/QBt5L/ 的简单示例。没有针对任何内容进行格式化,但您可以从中获得一些想法,此外,如上所述,您还应该考虑 JQuery 验证以进行表单验证,以增加必填字段中的错误提交。

    【讨论】:

      猜你喜欢
      • 2014-09-22
      • 2011-09-23
      • 1970-01-01
      • 2012-07-28
      • 2015-03-11
      • 2020-09-06
      • 2015-03-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多