我想问一个最佳实践问题。 假设我在php中有一个表单,其中有3个字段,例如姓名,电子邮件和评论。 我通过POST提交表格。在PHP中,我尝试将日期插入数据库。 假设插入失败。 我现在应该向用户显示错误并显示填写了之前插入的数据的表单,以便他可以更正错误。在它的初始状态中显示表单是不行的。 所以我显示了表单,现在用PHP和echo等填写了3个字段。现在,如果我点击刷新,我会收到一条消息“你确定要重新发送信息吗?”。 好。 假设我插入数据后我没有继续,但我重定向到同一页面,但在查询字符串中有必要的参数。这使得消息消失但我必须在查询字符串中携带3个参数。
所以我的问题是:
这样做有什么好处?我想不在查询字符串中携带大量参数,但也不会得到该错误。如何才能做到这一点?我应该使用cookie来存储表单信息。
答案 0 :(得分:1)
您的第一个场景似乎最有效。
即
用户提交表单
某些问题会阻止提交,因此会重新显示表单
如果用户“刷新”,他们会看到关于重新发送信息的常见消息(尽管他们最有可能的进展路径是重新提交您正在为他们重新填充的表单。)
“您确定要重新发送信息吗?”如果某人在表单提交后刷新页面,则该消息完全有效,因此请不要编写代码来专门破坏此行为。
答案 1 :(得分:0)
我认为通常人们会暂时将提交的数据存储在会话变量中,并将数据发送回客户端。
也许除了这一点,但你提到“错误的约会”,我想很多人会说你应该安排一些事情,这样用户就不会无意中向你发错日期。