我正在编写一个PHP应用程序,向人们提供填写和提交的表单。
用户提交表单后,数据库中的内容会发生变化,用户无法访问表单。
但是,如果用户在提交表单后按下后退按钮,他们可以再次看到它。我在后端有代码以防止用户重新提交已提交的表单,但理想情况下,如果用户按下后退按钮,他们将获得相同的消息,就好像他们只是直接导航到它一样:屏幕上会显示一条消息,说明此表单已提交,现在无法使用。
除了向后端发出AJAX调用以检查表单是否已经提交,并将用户重定向到“表单已提交且现在不可用”消息之外,是否还有其他(更好?)方式处理此问题?
由于这只会在SOE内部使用,我只需要它就可以在IE8 +上工作。
答案 0 :(得分:1)
您可以考虑将此信息添加到会话/ cookie。或者,如果您具有身份验证系统,则可以将此信息存储在数据库中。 可能第一种选择更容易和充分。
所以基本上在显示表单之前,检查cookie是否已提交为1.如果是 - 错误消息,否则 - 表单。提交表单时,只需将此cookie设置为alreadySubmitted。
但请注意,如果有人删除了cookie,他将能够欺骗您的系统。