У меня есть веб-форма, которая несколько раз отправляла сама себе электронное письмо, если кто-то нажимал кнопку отправки более одного раза.
В форме я добавил:
$_SESSION["EmailSent"] = 0;
На странице обработки Я добавил:
if ($_SESSION["EmailSent"] == 0){
$_SESSION["EmailSent"] = 1;
if(!$mail->send()) {
echo 'Message could not be sent.';
echo 'Mailer Error: ' . $mail->ErrorInfo;
}
else {
//echo 'Message has been sent';
}
}
На странице обработки я получаю сообщение об ошибке: PHP Примечание: неопределенный индекс: EmailSent
Я добавил session_start () в верхнюю часть страниц. . Странно то, что электронное письмо все еще отправляется и не останавливается, когда страница обнаруживает ошибку.