2010-03-15 37 views
0

我想问一个最佳实践问题。 假设我在php中有一个表单,其中有3个字段,分别表示姓名,电子邮件和评论。 我通过POST提交表单。在PHP中,我尝试将日期插入到数据库中。 假设插入失败。 我现在应该向用户显示一个错误,并显示填入他之前插入的数据的表格,以便纠正错误。以初始状态显示表单不会。 因此,我显示的形式和3个领域现在从PHP填充回声或等。现在,如果我点击刷新,我会收到一条消息,说“你确定要重新发送信息吗?”。好的。 假设在我插入数据后,我没有进行,但我重定向到同一页面,但在查询字符串中有必要的参数。这会使消息消失,但我必须在查询字符串中携带3个参数。php表单提交和重发信息屏幕

所以我的问题是:

这是怎么回事?我想不带很多参数在查询字符串中,但也没有得到那个错误。如何才能做到这一点?我应该使用cookie来存储表单信息。

回答

1

你的第一个方案似乎是最有效的。

用户提交表单

一些问题阻止提交,所以形式重新显示

如果用户“刷新”,他们看到有关重发的信息的通常消息(尽管它们的最有可能的进展路径是重新提交表格,您可以重新填写表格)。

“你确定要重发信息吗?”消息在表单提交后刷新页面的情况下完全有效,因此不要编写代码来专门打破此行为。

0

我认为一般人们会暂时将提交的数据存储在会话变量中,并将数据发送回客户端。

也许这是除了点,但你提到“错误日期”,我想很多人会说你应该安排的事情,使用户不能无意中给你错误的日期。

+0

我在哪里使用“错误日期”? – Para 2010-03-15 21:08:23

+0

好吧,我并没有像我那样使用引号是错误的 - 但是当您说:“在PHP中,我尝试将日期插入到数据库中,假设插入失败。 – Cups 2010-03-18 09:30:06