|
| ||||||
|
Форма обратной связи на jQuery и PHPИнформация, представленная на этой странице ориентирована в первую очередь для начинающих web-мастеров. При помощи этой формы обратной связи пользователи вашего сайта смогут посылать сообщения непосредственно в указанный вами почтовый ящик. Для работы скрипта на вашем сайте должна быть включена функция поддержки PHP. Если возникают проблемы при скачивании файлов, например, через браузер, скопируйте ссылку (правая кнопка мыши → копировать адрес ссылки) и скачайте файл через Download Master. Инструкция по установке скрипта1. Распакуйте архив в текущую папку на компьютере. 2. Скрипт из папки js (jquery.validate.pack.js) закачайте в одноименную папку на сервер сайта. 3. Подготовьте cтраницу в формате .php, внутри неё будет находиться форма обратной связи. На этой странице будет находиться весь код ФОС. 4. Этот код копируйте и вставляйте в самый верх документа. Имеется ввиду, что выше этого кода ничего не должно быть! Код должен располагаться даже перед тегом HTML! Внесите в код небольшие изменения - введите свой электронный адрес (в 39-й строке):
<?php
//Если форма отправлена
if(isset($_POST['submit'])) {
//Проверка Поля ИМЯ
if(trim($_POST['contactname']) == '') {
$hasError = true;
} else {
$name = trim($_POST['contactname']);
}
//Проверка поля ТЕМА
if(trim($_POST['subject']) == '') {
$hasError = true;
} else {
$subject = trim($_POST['subject']);
}
//Проверка правильности ввода EMAIL
if(trim($_POST['email']) == '') {
$hasError = true;
} else {
$email = trim($_POST['email']);
}
//Проверка наличия ТЕКСТА сообщения
if(trim($_POST['message']) == '') {
$hasError = true;
} else {
if(function_exists('stripslashes')) {
$comments = stripslashes(trim($_POST['message']));
} else {
$comments = trim($_POST['message']);
}
}
//Если ошибок нет, отправить email
if(!isset($hasError)) {
$emailTo = 'login@yandex.ru'; //Сюда введите Ваш email
$body = "Name: $name \n\nEmail: $email \n\nSubject: $subject \n\nComments:\n $comments";
$headers = 'From: My Site <'.$emailTo.'>' . "\r\n" . 'Reply-To: ' . $email;
mail($emailTo, $subject, $body, $headers);
$emailSent = true;
}
}
?>
5. В разделе head подключите библиотеку jQuery: <script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script> В полученном вами примере ФОС будет работать только при включенном Интернете, так как файл последней версии библиотеки jQuery - «jquery.min.js» загружается с сайта Google API. Если Вы желаете, чтобы ФОС работала автономно, скачайте и подключите последнюю версию библиотеки jQuery с официального сайта. Если у Вас уже подключена библиотека jQuery последней или более поздней версии (на сегодняшний день - версия 3.1.1) или Вы используете удаленное подключение последней версии с сайта jQuery или Google API, разумеется, вторично подключать её не стоит. 6. В том же разделе подключите скрипт jquery.validate.pack.js и скрипт вызова функции:
<script src="js/jquery.validate.pack.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#contactform").validate();
});
</script>
7. Коды подключения стилей расположите между тегами style в разделе head или вставьте в файл стилей вашего сайта:
#contact-wrapper {
width:355px;
border:1px solid #e2e2e2;
background:#F0E68C;
padding:20px;
margin:0 auto;
}
#contact-wrapper div {
clear:both;
margin:1em 0;
}
#contact-wrapper label {
display:block;
float:none;
font-size:16px;
width:auto;
}
form#contactform input {
border-color:#B7B7B7 #E8E8E8 #E8E8E8 #B7B7B7;
border-style:solid;
border-width:1px;
padding:5px;
font-size:16px;
color:#333;
}
form#contactform textarea {
font-family:Arial, Tahoma, Helvetica, sans-serif;
font-size:100%;
padding:0.6em 0.5em 0.7em;
border-color:#B7B7B7 #E8E8E8 #E8E8E8 #B7B7B7;
border-style:solid;
border-width:1px;
}
8. И, наконец, код формы обратной связи вставьте в раздел body в то место где Вы хотели бы её видеть на странице сайта:
<div id="contact-wrapper">
<?php if(isset($hasError)) { //Если найдены ошибки ?>
<p class="error">Проверьте, пожалуйста, правильность заполнения всех полей.</p>
<?php } ?>
<?php if(isset($emailSent) && $emailSent == true) { //Если письмо отправлено ?>
<p><strong>Email успешно отправлен!</strong></p>
<p>Спасибо <strong><?php echo $name;?></strong> за использование контактной формы! Ваше сообщение было отправлено и я свяжусь с Вами в кратчайшие сроки.</p>
<?php } ?>
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>" id="contactform">
<div>
<label for="name"><strong>Имя:</strong></label>
<input type="text" size="30" name="contactname" id="contactname" value="" class="required">
</div>
<div>
<label for="email"><strong>Email:</strong></label>
<input type="text" size="30" name="email" id="email" value="" class="required email">
</div>
<div>
<label for="subject"><strong>Тема:</strong></label>
<input type="text" size="30" name="subject" id="subject" value="" class="required">
</div>
<div>
<label for="message"><strong>Сообщение:</strong></label>
<textarea rows="5" cols="40" name="message" id="message" class="required"></textarea>
</div>
<input type="submit" value="Send Message" name="submit">
</form>
</div>
9. Внимательно заполните имеющиеся поля формы обратной связи и проверьте работоспособность, отправив себе же сообщение на адрес электронной почты, который внесён у Вас в верхний код. Вот и всё! Для повторной отправки сообщения нажмите F5, для возвращения в исходное состояние выделите адресную строку в браузере и нажмите Enter. Несколько слов о кодировкеУ многих начинающих web-мастеров при установке этой ФОС возникают вопросы, связанные с кодировкой. Дело в том, что полностью установив форму на страницу сайта, человек может наблюдать отображение текста в кракозябрах или квадратиках или ещё в какой-нибудь абракадабре. Причина кроется в различии кодировок скрипта формы и вашего сайта. Скрипт сейчас в кодировке UTF-8. Если кодировка вашего сайта иная, отображение текста формы будет некорректным. В этом случае можно пойти по пути замены кодировки скрипта или воспользоваться возможностями файла .htaccess, который позволяет изменить некоторые параметры (кодировку в нашем случае) в пределах отдельной директории. Об этом почитайте, пожалуйста, в разделе Несколько добрых слов о файле .htaccess. Это всё о ФОС на jQuery и PHP. Применяйте на сайте, комментируйте материал. Успехов! Ваш Л.М. | |||||
| ||||||