UniSite CMS - Современный движок для Ваших сайтов.

ZHUR ARTUR.ru

Персональный блог по созданию
мощных и современных Web-Проектов!

Самая тяжелая болезнь на свете - это привычка думать. Она неизлечима. © Эрих Мария Ремарк

»

Введите код полученный после подписки

  • 5

  • 0

Отправка e-mail без перезагрузки страницы с помощью Ajax и PHP

Автор - Жур Артур | Добавлено - 2014-01-13 | Просмотров - 4701 | Скачено - 49

1Подключаем плагин JQuery

Скачать плагин можно тут. Разместите его на ваш сайт и подключите к страницам перед закрывающим тегом </head> . Без этого плагина JQuery код работать не будет!

Подключение плагина


2Обращение к обработчику. JQuery код


2Обработчик

 // Проверяем как обратились к этому обработчику. Обязательная проверка!
 if($_SERVER["REQUEST_METHOD"] == "POST")
{
    // Стандартная функция отправки e-mail.
	function send_mail($from,$to,$subject,$body)
{
	$charset = 'utf-8';
	mb_language("ru");
	$headers  = "MIME-Version: 1.0 \n" ;
	$headers .= "From: <".$from."> \n";
	$headers .= "Reply-To: <".$from."> \n";
	$headers .= "Content-Type: text/html; charset=$charset \n";
	
	$subject = '=?'.$charset.'?B?'.base64_encode($subject).'?=';

	mail($to,$subject,$body,$headers);
}

    $name = 'От Васи!';
    $email = $_POST["email"]; // Принимаем e-mail который нам отправил Ajax.
    $tema = "Тест"; 
    $text = 'Привет! :)'; 
   
    // Проверяем правильность ввода e-mail. Стандартная проверка с помощью регулярных выражений. 
if (preg_match("/^(?:[a-z0-9]+(?:[-_.]?[a-z0-9]+)?@[a-z0-9_.-]+(?:\.?[a-z0-9]+)?\.[a-z]{2,5})$/i",trim($email)))
 {
        	         send_mail('demo@mail.ru', // Указываем от кого e-mail.
						       $email, // На этот e-mail придёт письмо.
						       $tema, // Тема письма.
						       ''.$name.'

'.$text); // Формируем само письмо.
- Тег переноса строки. echo 'E-mail отправлен!'; // Отвечаем Аяксу, что всё нормально. }else { echo 'Некорректный E-mail!'; } } else { header("Location: http://zhur-artur.ru"); }

3HTML код

// Поле для ввода e-mail.
 
// Ссылка отправки.
 Отправить

4CSS стили

#your-email{
    width: 200px; /* Ширина поля */
    height: 28px; /* Высота поля */
    border: 1px solid #BED9EE; /* Рамка поля */
    font: 14px sans-serif;
    /* Внутренние отступы */
    padding-left: 5px;
    padding-right: 5px;
}
#link-send{
    display: inline-block;
    font: 15px sans-serif;
    color: black;
    text-decoration: underline;
    cursor: pointer;
}
#link-send:hover{
    text-decoration: none;
}
// Загрузчик, по умолчанию скрытый.
.loader{
    position: absolute;
    margin-left: -25px;
    width: 18px;
    height: 17px;
    background: url(wait.gif) no-repeat; Загружаем анимационную картинку.
    display: none;
}
#message{
    font: 14px sans-serif;
}

Интересное

Комментарии