php переменные сеанса не сохраняются между страницами - PullRequest
0 голосов
/ 16 июня 2020

У меня есть веб-форма, которая несколько раз отправляла сама себе электронное письмо, если кто-то нажимал кнопку отправки более одного раза.

В форме я добавил:

$_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 () в верхнюю часть страниц. . Странно то, что электронное письмо все еще отправляется и не останавливается, когда страница обнаруживает ошибку.

1 Ответ

1 голос
/ 16 июня 2020

Ошибка произошла из-за штуки между сиденьем и клавиатурой. Я.

Я добавил session_start () в верхнюю часть каждой страницы с помощью шаблона Dreamweaver. Проблема в том, что страница обработки не привязана к шаблону и не имеет кода. Я добавил его на страницу, и он работает. форма теперь отправляется только один раз.

...