我有一个php表单,有时只复制收到的电子邮件。我已经对代码进行了三次检查,没有任何东西可以进行循环。我还做了一个会话,阻止相同的信息被发送并插入到数据库..但我仍然收到几次电子邮件..
我尝试重新创建用户可能发送这些电子邮件的方式以及可能导致这些电子邮件的原因。我发现造成这种重复的原因是多次点击提交按钮。我点击提交按钮的次数是我收到的重复电子邮件数量。
有谁知道为什么会这样?我怎么能阻止?
答案 0 :(得分:1)
当您多次单击“提交”按钮时,它正在向服务器发出x请求,并且您正在收到x邮件。为避免这种情况,您可以使用以下方法。
答案 1 :(得分:0)
使用时间戳设置会话变量的效果。如果时间戳小于30秒,则死亡。
<?php
session_start();
$sTime = time() - 15;
if($sTime > $_SESISON['submit_timestamp']){
// process form
} else {
// some sort of error handling if you want it.
}
?>