【发布时间】:2010-08-08 23:25:43
【问题描述】:
我有一个将数据提交到数据库的 php 表单。当表单填写成功并提交数据后,由于页面刷新,表单会清空。当用户点击浏览器上的返回按钮时,数据就会返回。
是否有一个 php 函数可以防止缓存这些数据?
【问题讨论】:
-
就我个人而言,如果我提交了您的表单,收到 HTTP 错误响应并点击 [Back] 只是为了看到您认为篡改我的历史数据和最后迫使我重新输入所有内容。
标签: php
我有一个将数据提交到数据库的 php 表单。当表单填写成功并提交数据后,由于页面刷新,表单会清空。当用户点击浏览器上的返回按钮时,数据就会返回。
是否有一个 php 函数可以防止缓存这些数据?
【问题讨论】:
标签: php
autocomplete="off" 在表单的输入字段中?
【讨论】:
没有可靠的方法,因为背面的行为因浏览器而异。此外,如果有人回顾了历史,而你改变了正在发生的事情,那么你就是在改变历史。形而上学的“哇!”除此之外,这不是一个好主意。
除了来自重新提交的问题之外,这会导致什么问题?如果表单重新提交是一个问题,那么您需要在快速双击提交的情况下处理它。包含一个隐藏的 nonce 值(UUID 很好),将 nonce 与表单所做的任何事情的记录一起存储,并拒绝重复的 nonce。
【讨论】: