Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

Веб-формы - добавить инкальность по эмеилу

00 голосов
2
Нужно сделать при заполнение веб-формы проверять уникальность по мылу. Есть какие то варианты?
спросил 27 Март, 14 от Gnus (100 баллов)

2 Ответы

00 голосов
Сделал так, если быть честным есть грубое нарушение "прямое обращение к базе данных" но все работает. Прописал в init.php
Код
<?
func tion my_onBeforeResultAddUpdate($WEB_FORM_ID, $arFields, $arrVALUES)
{  
global $APPLICATION, $DB;

  if ($WEB_FORM_ID == 7) 
  {
        $resultmail = $DB->Query("SEL ECT ID FR OM  b_form_result_answer WH ERE  USER_TEXT LIKE  '{$arrVALUES['form_email_121']}' AND FORM_ID = 7 AND ANSWER_ID = 121 LIMIT 1", true);
        $row2 = $resultmail->Fetch();

        if($row2 === false)
        {

   
   
      $mailtext="Ваш 30-ти дневный ключ ".$key;
   
      $arrVALUES['form_hidden_135']=$key;

      $Name = "no-reply"; //senders name
      $email = "no-reply@vashmail.ru"; //senders e-mail adress
      $recipient = $arrVALUES['form_email_121']; //recipient email
      
      $mail_body = "$mailtext"; //mail body
      $subject = "Tema"; //subject
      $header = "Fr om: ". $Name . " <" . $email . ">\r\n"; //optional headerfields


      $mail = mail($recipient, $subject, $mail_body, $header); //mail command :)
      

   
       }
  }
}
AddEventHandler('form', 'onBeforeResultAdd', 'my_onBeforeResultAddUpdate');
?>
ответил 29 Сен, 14 от Gnus (100 баллов)
00 голосов
Скрипт вкратце выполняет следующие - если введенного юзверем эмеила нет (не дублируется) в базе, то отправляет письмо.
ответил 01 Фев, 15 от Gnus (100 баллов)

Похожие вопросы

0 голосов
2 ответов
0 голосов
0 ответов
спросил 09 Дек, 15 от VI (120 баллов)
0 голосов
1 ответ
0 голосов
2 ответов
спросил 06 Май, 14 от ZooWolf (120 баллов)
0 голосов
2 ответов
спросил 12 Март, 14 от Gaser (100 баллов)