Как предотвратить дублирование отправки электронной почты в форме (информационный бюллетень) - PullRequest
0 голосов
/ 05 декабря 2010

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

Я знаю, что есть несколько способов сделать это, использование базы данных одно,Некоторые другие используют javascript или некоторые серверные сценарии, но я не уверен, как применить их к моей форме рассылки.

Вот код рассылки:

<form method="post"  action="processnewsrequest.php">

      <fieldset>

           <label for="email">Email:</label>
           <input name="email" type="text" id="email" placeholder="Enter your email" required="required" />
           <input type="submit" class="submit" id="news-submit" value="Join" />

      </fieldset>

</form> 

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

Что я могу сделать, чтобы предотвратить дублирование отправки электронной почты?И как мне применять методы.Я надеюсь, что мне не нужно использовать базу данных.

Большое спасибо!

Ответы [ 2 ]

1 голос
/ 05 декабря 2010

Это фрагмент кода jQuery, который отключает случайное двойное нажатие кнопки отправки: когда форма отправляется в первый раз, она просто отключает кнопку отправки.

$('form').submit(function(){
    $('input[type=submit]', this).attr('disabled', 'disabled');
});

Предполагается двойноеотправить, которую вы хотите предотвратить, - это вариант К сожалению, я дважды щелкнул .Если вашей целью являются посетители, которые регистрируются снова, забывая, что он уже зарегистрирован - вам придется проверить базу данных или где вы храните адреса электронной почты для информационного бюллетеня.

0 голосов
/ 05 декабря 2010

Вам нужен способ, чтобы сравнить введенный адрес электронной почты со списком адресов электронной почты, которые у вас уже есть.Если эти адреса электронной почты (с администратором сайта) не хранятся в базе данных или каким-либо другим способом, которым вы можете искать, то вам не повезло.

Узнайте у администратора вашего сайта, как они хранятадреса электронной почты.

...