【发布时间】:2012-01-09 22:21:22
【问题描述】:
我有一个表单(用于 A),它重定向到另一个表单(表单 B)。
当用户被重定向到表单 B 时,如果设置了 $_POST,则会触发电子邮件功能。这是一个问题,如果用户重新加载页面,这封电子邮件会再次发送。
如果页面被重新加载,我想停止发送电子邮件。
因此,我在表单 A 中包含了一个字段,type=hidden 和 value=send,当发送电子邮件(表单 B)时,我取消了此字段,但如果我重新加载页面,电子邮件仍然会发送。
if(isset($_POST['emailtrigger'])){
emailfunction();
unset($_POST['emailtrigger']);
}
如何提示页面发送邮件后,如果页面(表单B)重新加载,跳过邮件功能?
谢谢
【问题讨论】:
-
这就是303 redirects 的用途...
-
您不能那样取消设置它们,因为它们是从客户端发送的。 PHP 是一种服务器端语言。您可以使用 PHP 会话来确定页面是否已重新发送。
-
@DaveRandom:你看到很多应该是 cmets 的答案,但这是一个应该是答案的评论。 :)
-
为什么需要这样的链式表单处理程序?