Анна В.
Neophyte-
Posts
1 -
Joined
-
Last visited
Information
-
Sex
женский
Анна В.'s Achievements
Explorer (1/14)
0
Reputation
-
Всем привет! Помогите, пожалуйста, доработать код формы обратной связи.. Необходимо, чтобы поле message было не обязательным к отправке. Сейчас ситуация следующая: письма из формы уходят на почту, но если поле сообщение не заполнено, письмо не уходит. <div class="btn-greenbackground pt-40 pb-15 pl-30"> <div class="adaptive-header"><h30><p style="line-height: 0.35"><b>Отправьте заявку на участие</b><br/> __________________________</p></h30> </div></div> <!-- атрибут required говорит, что заполнение поля обязательно --> <form method="POST" id="feedback-form"> <div class="btn-greenbackground p-30 pt-20 pl-30 pr-30 pb-25"> <div class="row"> <div class="col-sm-6"> <div class="form-group"> <input type="text" name="nameFF" style="border-radius:2px;border-style:none;height:40px;width:100%;color:black" required placeholder="Ваше имя" x-autocompletetype="name"> </div> </div> <div class="col-sm-6 mt-5"> <div class="form-group"> <p style='font-size:10px ; font-family: Arial, sans-serif;'>*Укажите, пожалуйста, Ваше имя и мы отправим Вам именное приглашение</p> </div> </div> </div> <div class="row"> <div class="col-sm-6"> <div class="form-group"> <input type="email" name="contactFF" style="border-radius:2px;border-style:none;height:40px;width:100%;color:black" required placeholder="Ваш email" x-autocompletetype="email"> </div> </div> <div class="col-sm-6 mt-5"> <div class="form-group"> <p style='font-size:10px ; font-family: Arial, sans-serif;'>*Укажите, пожалуйста, Ваш email, на который будет отправлено приглашение</p> </div> </div> </div> <div class="row"> <div class="col-sm-6"> <div class="form-group"> <input type="text" name="messageFF" placeholder="Ваш телефон" style="border-radius:2px;border-style:none;height:40px;width:100%;color:black"> </div> </div> <div class="col-sm-6 mt-5"> <div class="form-group"> <p style='font-size:10px ; font-family: Arial, sans-serif;'>*Укажите Ваш телефон для получения смс- уведомлений о мероприятиях</p> </div> </div> </div> </div> <div class="form-group"> <button type="submit" class="btn btn-flat btn-theme-colored btn-herbal text-uppercase col-md-12 col-sm-12 col-xs-12 mt-10 border-left-theme-color-2-4px " data-loading-text="Пожалуйста, подождите...">Принять участие</button> </div> </form> <p style='font-size:11px; font-family: Arial; san-serif; align=’right’'>Нажимая кнопку "Принять участие" Вы соглашаетесь с <a href="/privacy_policy.html" target="_blank"><font color="red">Политикой конфиденциальности</font></a></p> <script> document.getElementById('feedback-form').addEventListener('submit', function(evt){ var http = new XMLHttpRequest(), f = this; evt.preventDefault(); http.open("POST", "contacts.php", true); http.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); http.send("nameFF=" + f.nameFF.value + "&contactFF=" + f.contactFF.value + "&messageFF=" + f.messageFF.value); http.onreadystatechange = function() { if (http.readyState == 4 && http.status == 200) { alert(http.responseText + ', Ваше сообщение получено.\nНаши специалисты ответят Вам в течении 2-х дней.\nБлагодарим за интерес к нашей организации!'); f.messageFF.removeAttribute('value'); // очистить поле сообщения (две строки) f.messageFF.value=''; } } http.onerror = function() { alert('Извините, данные не были переданы'); } }, false); </script> <!-- Contact Form Validation--> <script type="text/javascript"> $("#contact_form").validate({ submitHandler: function(form) { var form_btn = $(form).find('button[type="submit"]'); var form_result_div = '#form-result'; $(form_result_div).remove(); form_btn.before('<div id="form-result" class="alert alert-success" role="alert" style="display: none;"></div>'); var form_btn_old_msg = form_btn.html(); form_btn.html(form_btn.prop('disabled', true).data("loading-text")); $(form).ajaxSubmit({ dataType: 'json', success: function(data) { if( data.status == 'true' ) { $(form).find('.form-control').val(''); } form_btn.prop('disabled', false).html(form_btn_old_msg); $(form_result_div).html(data.message).fadeIn('slow'); setTimeout(function(){ $(form_result_div).fadeOut('slow') }, 6000); } }); } }); </script> </div> </div> </section> </div> <?php function smtpmail($mail_to, $subject, $message, $headers='') { //Настройки почты $config['smtp_username'] = 'admin@spasibo.life'; //Смените на имя своего почтового ящика из ISPManager. $config['smtp_password'] = 'Jhmeg43600s029a'; //Измените пароль. $config['smtp_from'] = 'Ikkk'; //Ваше имя - или имя Вашего сайта. Будет показывать при прочтении в поле "От кого". //Обычно эти настройки менять не стоит $config['smtp_host'] = 'smtp.beget.com'; //Сервер для отправки почты (для наших клиентов менять не требуется). $config['smtp_port'] = '2525'; // Порт работы. Не меняйте, если не уверены. $config['smtp_debug'] = true; //Если Вы хотите видеть сообщения ошибок, укажите true вместо false. $config['smtp_charset'] = 'UTF-8'; //Кодировка сообщений. $SEND = "Date: ".date("D, d M Y H:i:s") . " UT\r\n"; $SEND .= 'Subject: =?'.$config['smtp_charset'].'?B?'.base64_encode($subject)."=?=\r\n"; if ($headers) $SEND .= $headers."\r\n\r\n"; else { $SEND .= "Reply-To: ".$config['smtp_username']."\r\n"; $SEND .= "MIME-Version: 1.0\r\n"; $SEND .= "Content-Type: text/plain; charset=\"".$config['smtp_charset']."\"\r\n"; $SEND .= "Content-Transfer-Encoding: 8bit\r\n"; $SEND .= "From: \"".$config['smtp_from']."\" <".$config['smtp_username'].">\r\n"; $SEND .= "To: $mail_to <$mail_to>\r\n"; $SEND .= "X-Priority: 3\r\n\r\n"; } $SEND .= $message."\r\n"; if( !$socket = fsockopen($config['smtp_host'], $config['smtp_port'], $errno, $errstr, 30) ) { if ($config['smtp_debug']) echo $errno."<br>".$errstr; return false; } if (!server_parse($socket, "220", __LINE__)) return false; fputs($socket, "EHLO " . $config['smtp_host'] . "\r\n"); if (!server_parse($socket, "250", __LINE__)) { if ($config['smtp_debug']) echo '<p>Не могу отправить EHLO!</p>'; fclose($socket); return false; } fputs($socket, "AUTH LOGIN\r\n"); if (!server_parse($socket, "334", __LINE__)) { if ($config['smtp_debug']) echo '<p>Не могу найти ответ на запрос авторизации!</p>'; fclose($socket); return false; } fputs($socket, base64_encode($config['smtp_username']) . "\r\n"); if (!server_parse($socket, "334", __LINE__)) { if ($config['smtp_debug']) echo '<p>Логин авторизации не был принят сервером!</p>'; fclose($socket); return false; } fputs($socket, base64_encode($config['smtp_password']) . "\r\n"); if (!server_parse($socket, "235", __LINE__)) { if ($config['smtp_debug']) echo '<p>Пароль не был принят сервером как верный! Ошибка авторизации!</p>'; fclose($socket); return false; } fputs($socket, "MAIL FROM: <".$config['smtp_username'].">\r\n"); if (!server_parse($socket, "250", __LINE__)) { if ($config['smtp_debug']) echo '<p>Не могу отправить команду MAIL FROM:</p>'; fclose($socket); return false; } fputs($socket, "RCPT TO: <" . $mail_to . ">\r\n"); if (!server_parse($socket, "250", __LINE__)) { if ($config['smtp_debug']) echo '<p>Не могу отправить команду RCPT TO:</p>'; fclose($socket); return false; } fputs($socket, "DATA\r\n"); if (!server_parse($socket, "354", __LINE__)) { if ($config['smtp_debug']) echo '<p>Не могу отправить команду DATA!</p>'; fclose($socket); return false; } fputs($socket, $SEND."\r\n.\r\n"); if (!server_parse($socket, "250", __LINE__)) { if ($config['smtp_debug']) echo '<p>Не могу отправить тело письма. Письмо не было отправлено!</p>'; fclose($socket); return false; } fputs($socket, "QUIT\r\n"); fclose($socket); return TRUE; } function server_parse($socket, $response, $line = __LINE__) { global $config; while (substr($server_response, 3, 1) != ' ') { if (!($server_response = fgets($socket, 256))) { if ($config['smtp_debug']) echo "<p>Проблемы с отправкой почты!</p>$response $line "; return false; } } if (!(substr($server_response, 0, 3) == $response)) { if ($config['smtp_debug']) echo "<p>Проблемы с отправкой почты!</p>$response $line "; return false; } return true; } //Отправить почту сразу нескольким получателям, ящики получателей пишем через запятую. function smtpmassmail($mail_to, $subject, $message, $headers='') { $mailaddresses=explode(",",$mail_to); foreach ($mailaddresses as $mailaddress) smtpmail($mailaddress,$subject,$message,$headers); } ?>