Как отправить значение тега radio на почту?

174
18 февраля 2022, 15:10

Сразу скажу, ламер я полный, к делу. Пишу страницу - отзыв для компании. Задача отправить отзыв на почту, я реализовал отправку textbox'ов, но отправку radio не понимаю как реализовать. Буду очень признателен за любую помощь, заранее спасибо.

html:

<!DOCTYPE html>
<html lang="ru">
<head>
    <meta charset="UTF-8">
    <title>Оценка сервисного обслуживания</title>
    <link rel="icon" href="img/Logo_Volkswagen.png">
    <link href="main.css" rel="stylesheet" type="text/css">
</head>
<body>
    <form id="form">
                <div class="contain_1" id="first">
                   <div class="text_first">
                      <p>
                         Оцените сервисное обслуживание
                      </p>
                   </div>   
                    <div class="all_smiles">
                      <p>
                         <div>
                              <input id="checkbox1" type="radio" name="opinion" value="Отлично" hidden>
                              <label for="checkbox1"><a href="#second"><img src="img/smile_1.svg" class="smile1"></a></label>
                         </div>
                      </p>  
                      <p>
                         <div>
                             <input id="checkbox2" type="radio" name="opinion" value="Средне" hidden>
                             <label for="checkbox2"><a href="#second"><img src="img/smile_2.svg" class="smile2"></a></label>
                         </div>
                      </p> 
                      <p>
                         <div>
                             <input id="checkbox2" type="radio" name="opinion" value="Плохо" hidden>
                             <label for="checkbox3"><a href="#second"><img src="img/smile_3.svg" class="smile3"></a></label>
                         </div>
                      </p> 
                   </div>
               </div>
               <div class="contain_2" id="second">
                   <div class="poll">
                          <div class="text_second">
                              Как Вас зовут?<label class="star">*</label>                   
                          </div>
                          <div >
                              <input class="textbox1" type="textbox" id="name" name="name"><br>
                              <label class="error" for="name" id="name_error">Введите имя.</label>  
                          </div>
                          <div class="text_second">
                              Ваш телефон?<label class="star">*</label>
                          </div>
                          <div>         
                              <input class="textbox2" type="textbox" id="phone" name="phone"><br>
                              <label class="error" for="phone" id="phone_error">Введите номер телефона.</label>
                          </div>
                          <div class="text_second">
                              Оставьте, пожалуйста, отзыв                   
                          </div>
                          <div >
                              <textarea class="textbox3" id="message" name="message"></textarea>
                          </div>
                          <div class="div_button" id="button">
                              <a href="#third"><button id="button" class="button" type="submit" name="button">Отправить</button></a>
                          </div>
                   </div>
                </div>
    </form>         
    <div class="contain_3" id="third">
       <div class="snk">
          <p>
              Спасибо за Ваш отзыв!
          </p>
           <img class="last_pic" src="img/Logo_Volkswagen.jpg">
       </div>
    </div>
   <script type="text/javascript" src="javascript/jquery.min.js"></script>
   <script type="text/javascript" src="javascript/http://code.jquery.com/jquery-1.7.2.min.js"></script>
   <script type="text/javascript" src="javascript/http://ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
   <script type="text/javascript" src="javascript/transition.js"></script>
   <script type="text/javascript" src="javascript/jquery.mask.min.js"></script>
   <script type="text/javascript" src="javascript/error.js"></script>
   <script type="text/javascript" src="javascript/send.js"></script>
   <script>
      jQuery(function($) {
       $("#phone").mask("+7(000)000-00-00", {
         placeholder: "+7(___)___-__-__",
        });
      });
    </script>
</body>
</html>

php:

<?php 
require_once('phpmailer/PHPMailerAutoload.php');
$mail = new PHPMailer;
$mail->CharSet = 'utf-8';
$opinion = $_POST['opinion']==="Отлично" echo "Отлично";
$name = $_POST['name'];
$phone = $_POST['phone'];
$message = $_POST['message'];
//$mail->SMTPDebug = 3;                               // Enable verbose debug output
$mail->isSMTP();                                      // Set mailer to use SMTP
$mail->Host = 'smtp.mail.ru';                                                                                           // Specify main and backup SMTP servers
$mail->SMTPAuth = true;                               // Enable SMTP authentication
$mail->Username = '****@mail.ru'; // Ваш логин от почты с которой будут отправляться письма
$mail->Password = '****'; // Ваш пароль от почты с которой будут отправляться письма
$mail->SMTPSecure = 'ssl';                            // Enable TLS encryption, `ssl` also accepted
$mail->Port = 465; // TCP port to connect to / этот порт может отличаться у других провайдеров
$mail->setFrom('****@mail.ru'); // от кого будет уходить письмо?
$mail->addAddress('****@mail.ru');
$mail->addAddress('****@gmail.com');     // Кому будет уходить письмо 
//$mail->addAddress('ellen@example.com');               // Name is optional
//$mail->addReplyTo('info@example.com', 'Information');
//$mail->addCC('cc@example.com');
//$mail->addBCC('bcc@example.com');
//$mail->addAttachment('/var/tmp/file.tar.gz');         // Add attachments
//$mail->addAttachment('/tmp/image.jpg', 'new.jpg');    // Optional name
$mail->isHTML(true);                                  // Set email format to HTML
$mail->Subject = 'Оценка обслуживания';
$mail->Body    = '' 'Оценка: ' .$opinion. '<br>Имя: ' .$name. '<br>Телефон: ' .$phone. '<br>Отзыв: ' .$message;
$mail->AltBody = '';
if(!$mail->send()) {
    echo 'Error';
} else {
    header('location: 3index.html');
}
?>

js:

$(document).ready(function() {
    $('#form').submit(function() {
        $.ajax({
            type: "POST",
            url: "mail.php",
            data: $(this).serialize()
        }).done(function() {
            $(this).find('input').val('');
            $('#form').trigger('reset');
        });
        return false;
    });
});
Answer 1
Готовый код: 
`
<?php
$test = $_POST['test'];
$opinion = $_POST['opinion'];
        require 'phpmailer/class.phpmailer.php';
        require 'phpmailer/class.smtp.php';
        $mdemail = md5($email);
        $mail = new PHPMailer;
        $mail->isSMTP();
        $mail->CharSet = 'UTF-8';
        $mail->Host = 'smtp.mail.ru';
        $mail->SMTPAuth = true;
        $mail->Username = '***'; //login
        $mail->Password = '***'; //password
        $mail->SMTPSecure = 'ssl';
        $mail->Port = 465;
        $mail->setFrom('****'); 
        $mail->addAddress("***"); //куда 
        $mail->isHTML(true);
        $mail->Subject = "test"; 
        $mail->Body = "
        Сообщение $test <br> 
        Оценка: $opinion";
// Результат
        if (!$mail->send()) {
            echo ' ';
        } else {
            echo ' ';
        }

?>
<form action="" method="post">
    <input type="text" name="test">
    <input id="checkbox1" type="radio" name="opinion" value="Отлично">
    <label for="checkbox1">Отлично</label>
    <input id="checkbox2" type="radio" name="opinion" value="Средне">
    <label for="checkbox2">Средне</label>
    <input id="checkbox3" type="radio" name="opinion" value="Плохо">
    <label for="checkbox3">Плохо</label>
    <button name="go">Отправить</button>
</form>
[![Письмо на почте:][1]][1]
READ ALSO
Не хватает памяти для обработки больших массивов

Не хватает памяти для обработки больших массивов

На виртуальном сервере не хватает памяти для обработки некоторых файлов, хотя на локальном всё в порядкеОшибка: Fatal error: Allowed memory size of 134217728...

87
Ajax-запрос в базу данных раз в минуту

Ajax-запрос в базу данных раз в минуту

В базе данных есть таблица, в которой хранятся уведомления от администрации, для каждого пользователяТребуется выводить непросмотренные...

94
Laravel: не выводятся ошибки, если их много, баг?

Laravel: не выводятся ошибки, если их много, баг?

Homestead, Laravel 6, Русский язык, файл руссификатор валидатора https://githubcom/caouecs/Laravel-lang

74
WP Не могу войти в админку

WP Не могу войти в админку

Вообщем, регистрируюсь на сайте и выдаю админку таким путём:

112