Jeka778 380 Posted November 10, 2013 Report Share Posted November 10, 2013 Всем привет! Кто-нибудь может подсказать, как на сайте (не движок) организовать форму обратной связи, чтобы отправленное сообщение отправлялось прямо на почту? Link to post Share on other sites
Модератор Воланд 5016 Posted November 10, 2013 Модератор Report Share Posted November 10, 2013 http://bit.ly/19RJPu8 Link to post Share on other sites
Модератор files 2802 Posted November 10, 2013 Модератор Report Share Posted November 10, 2013 Пример на AJAX Делаем форму отправки в теле страницы (вверху подключаем <script src="contactform.js"></script>) <div id="note"></div> <div id="fields"> <form class="m-form" action="" id="ajax-contact-form"> <fieldset class="inlineLabels"> <div class="ctrlHolder"> <label for="name">Ваше имя:</label> <input type="text" name="name" id="name" size="35" class="deftext required" value=""/> <p class="formHint"> <span class="error">Это поле обязательно для заполнения.</span></p> </div> <div class="ctrlHolder"> <label for="phone">Контактный телефон:</label> <input type="text" name="phone" id="phone" size="35" class="deftext required" /> <p class="formHint"> <span class="error">Это поле обязательно для заполнения.</span></p> </div> <div class="ctrlHolder"> <label for="email">Адрес вашей электронной почты:</label> <input type="text" name="email" id="email" size="35" class="deftext required" value="" /> <p class="formHint"> <span class="error">Это поле обязательно для заполнения.</span></p> </div> <div class="ctrlHolder"> <label for="message">Сообщение:</label> <textarea name="message" id="message" rows="25" cols="25" class="deftext required"></textarea> <p class="formHint"> <span class="error">Это поле обязательно для заполнения.</span></p> </div> </fieldset> <div class="buttonHolder"> <button type="submit" class="m-button">Отправить</button> </div> </form></div> содержание contactform.js jQuery(document).ready(function($) { $("#ajax-contact-form").submit(function() { var str = $(this).serialize(); $.ajax({ type: "POST", url: "contact.php", data: str, success: function(msg) { if(msg == 'OK') { result = '<div class="notification_ok">Ваше сообщение было отправлено</div>'; $("#fields").hide(); } else { result = msg; } $('#note').html(result); } }); return false; }); }); содержание contact.php (где происходит обработка формы) <?php $post = (!empty($_POST)) ? true : false; if($post) { $email = trim($_POST['email']); $name = htmlspecialchars($_POST['name']); $email = htmlspecialchars($_POST['email']); $mess = htmlspecialchars($_POST['message']); $phone = $_POST["phone"]; $message =$name.' - '.$phone.' - '.$email.'.....................'.$mess; $error = ''; if(!$name) { $error .= 'Вы не указали Ваше имя<br />'; } // Check email function ValidateEmail($value) { $regex = '/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i'; if($value == '') { return false; } else { $string = preg_replace($regex, '', $value); } return empty($string) ? true : false; } if(!$email) { $error .= 'Вы не указали ваш e-mail адрес<br />'; } if($email && !ValidateEmail($email)) { $error .= 'Проверьте правильность e-mail адреса<br />'; } // Check message (length) if(!$message || strlen($message) < 50) { $error .= 'Пожалуйста, напишите нам подробнее. Вы практически ничего не написали<br />'; } if(!$error) { $headers=null; $headers.="Content-Type: text/html; charset=utf-8\r\n"; $headers.="From: sait@mail.ru\r\n"; //от кого будет письмо $subject = "Desing"; $to = 'mail@mail.ru'; //кому отправлять $mail = mail($to, $subject, $message, $headers); if($mail) { echo 'OK'; } } else { echo '<div class="notification_error">'.$error.'</div>'; } } ?> Не забудьте contact.php и contactform.js поставить в папку где и вызывается форма отправки почты (или пропишите к ним пути). glavseo and Jeka778 2 Link to post Share on other sites
pinchoalex 65 Posted November 10, 2013 Report Share Posted November 10, 2013 Должно помочь, там архивчик качни! под сбя передалай вот Link to post Share on other sites
Fokebox 463 Posted November 10, 2013 Report Share Posted November 10, 2013 http://ruseller.com/lessons.php?rub=37&id=194 Я у себя на сайте по этому примеру сделал и всё работает! Link to post Share on other sites
Jeka778 380 Posted December 13, 2013 Author Report Share Posted December 13, 2013 Можно закрыть. Link to post Share on other sites
Recommended Posts