КОнтакты, предложения, отзывы

.rar или .zip
Вложение
Онлайн-чат
На этом сайте, вы найдёте полезную информацию, практические советы в области веб-программирования, веб-дизайна и веб-разработок в целом. Мы с удовольствием поделимся с вами реальными примерами и решениями задач, связанных с jQuery , JavaScript , PHP и MySQL , версткой сайтов , поможем разобраться новичкам с современными технологиями, такими как Ajax , HTML5 , CSS3 и многими другими.

Ajax отправка письма на Е-мэйл

Качаем и открываем файлы примеров.
В файле index.php содержится только хтмл код. В заголовке подключаются все необходимые скрипты и стили. В теле пхп-файла - блок с id='overlay', растянутый на всю ширину и высоту экрана с абсолютным позиционированием, но спрятанный (display: none). В нём тоже есть блок с position: absolute и display: none, в котором и содержится форма для отправки е-мэйл. Перед блоком overlay ставим ссылку, нажав на которую наша форма будет показываться и скрываться.
Начнём разбор полёта. После обёртки кода в конструкцию DOM-Ready пишем действия которые произойдут при клике на ссылку: показываем блок overlay методом slideDown, выполняем функцию, которая рассчитает положение блока #box точно по центру экрана и затем медленно покажет его show('slow'). Также сразу напишем функцию, которая будет скрывать наши блоки при нажатии на ссылку #boxclose.
Функцией change_value изменяем значения полей ввода при фокусе и потере фокуса, выполняем функцию при клике на кнопку отправки. e.preventDefault(); - предотвращаем стандартное поведение при клике, то есть отправку формы в синхронном режиме с перезагрузкой страницы. проверяем каждое поле на заполненность (не меньше трёх символов) и регулярным выражением проверяем соответствие е-майл адреса. Если поле не проходит проверку даём ему красный бэкграунд. иначе - зелёный
Если программа не нашла ошибок, составляем аякс-запрос к файлу php/contacts.php, передавая ему переменные значений полей формы. В файле contacts.php первым делом подключаем файл db.php, отвечающий за подключение к базе данных PHPMyAdmin. Проверяем, всё ли нам пришло (if (!empty)), если всё, тогда обезвреживаем введённые данные функцией mysql_entities_fix_string, рассмотренной в статье Предотвращение внедрения SQL и XSS кода и с помощью встроенной PHP функции mail отправляем письмецо на наше мыло, функция mail() требует указания трёх обязательных и двух необязательных параметров, в нашем случае их 4:
mb_internal_encoding('utf-8');
//подключаем библиотеку доступа к бд: 
include_once "db.php";
if(isset($_POST['name'], $_POST['email'], $_POST['message'])){
  
  $name    = mysql_entities_fix_string($_POST['name']);
  $email   = mysql_entities_fix_string($_POST['email']);
  $message = mysql_entities_fix_string($_POST['message']);
  $message = wordwrap("<strong>".$name."</strong><br>".$message, 70);
  if(mb_strlen($name)>33 || mb_strlen($message)>777 || mb_strlen($email)>55){exit;}
  
  $myemail = "ilikeitalls@mail.ru";
  $subject = "Вам посылка :)";// тема сообщения
  $headers = "From: $email\r\nReply-to: $email\r\nContent-type: text/html; charset=utf-8";
  /* Отправляем сообщение, используя mail() функцию */
  if(mail($myemail, $subject, $message, $headers)){
    echo 'всё пучком)';
  }
  
  exit();
}

Дальнейшие действия: эхуем "Всё пучком)" на файл script.js (если письмо отправлено) который в случае прихода ответа заменит нашу форму на текст ответа (метод html библиотеки джейквери) и скроет плавненько все блоки.. УРА! :)
2015.02.27 385
jpgjpg

Сидят два программиста, рассматривают фотографию девушки: - Она у тебя первая? - Не, нулевая.
Войдите или Зарегистрируйтесь чтобы оставить комментарий

Комментарии


    Яндекс.Метрика Яндекс.Метрика