【问题标题】:Codeigniter - prevent double submitCodeigniter - 防止重复提交
【发布时间】:2016-05-12 02:32:08
【问题描述】:

Codeigniter 3.0.0 是否自动防止双重提交?有没有这个帮助/库?我查看了表单验证和表单助手,但什么都没有。

非常感谢。

【问题讨论】:

  • 在我看来,使用 JavaScript 处理它会更好的用户体验。否则,您将必须存储表单传递的令牌,并且 php 代码必须检查该令牌是否已被使用并重定向到“ooops 已提交页面”。在表单的 onsubmit 中标记一个 js 变量。在 onsubmit 中检查该变量,如果为 true 则返回 false 以防止重复提交。
  • 看看这个答案。 stackoverflow.com/questions/2830542/…这是一个jQuery解决你的问题。
  • 如果 javascript 不是最好的答案stackoverflow.com/a/8165979/2498790

标签: codeigniter


【解决方案1】:

不,CI 3 不处理双重表单提交。您要做的就是提交您的页面,并在提交成功后重定向到另一个页面。

现在,假设您的用户单击了两三次,因为可能是他的鼠标无法正常工作,或者他的连接速度太慢......那么您也可以在表单中输入代码,如果表单被提交然后保存该代码及其时间戳,并防止将来提交该代码。

定期,使用 cron,您可以删除超过 1 分钟左右的已保存表单代码。

希望对您有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-07-21
    • 2011-06-04
    • 2016-12-07
    • 1970-01-01
    • 2022-07-12
    相关资源
    最近更新 更多