Задать вопрос
  • Почему не отправляется форма?

    @Andr_ey56 Автор вопроса
    *Uncaught (in promise) SyntaxError: Unexpected token '<', "

    "... is not valid JSON
    это в консоли



    Parse error: syntax error, unexpected variable "$body" in /var/www/u2142199/data/www/andreykrylov.ru/sendmail.php on line 26

    это в sources
  • Почему не отправляется форма?

    @Andr_ey56 Автор вопроса
    "use strict"
    
    document.addEventListener('DOMContentLoaded', function () {
        const form = document.getElementById('form');
        form.addEventListener('submit', formSend);
    
        async function formSend(e) {
            e.preventDefault();
    
            let error = formValidate(form);
    
            let formData = new FormData(form);
            
    
            if (error === 0) {
                let response = await fetch('mail.php', {
                    method: 'POST',
                    body: formData
                });
                if (response.ok) {
                    let result = await response.json();
                    alert(result.message);
                    formPreview.innerHTML = '';
                    form.reset();
                  
                } else {
                    alert("Ошибка")
              
    
                }
    
            }else{
                alert ('Заполните обязательные поля')
            }
        }
    
    
        function formValidate(form) {
            let error = 0;
            let formReq = document.querySelectorAll('._req');
    
            for (let index = 0; index < formReq.length; index++) {
                const input = formReq[index];
                formRemoveError(input);
    
                if (input.classList.contains('_email')) {
                    if (emailTest(input)){
                        formAddError(input);
                        error++;
                    }
    
                } else if (input.getAttribute("type")==="checkbox" && input.checked === false) {
                    formAddError(input);
                    error++;
                }else{
                    if (input.value === '') {
                        formAddError(input);
                        error++;
                    }
                }
            }
            return error;
        }
        function formAddError(input) {
            input.parentElement.classList.add('_error');
            input.classList.add('_error');
        }
        function formRemoveError(input) {
            input.parentElement.classList.remove('_error');
            input.classList.remove('_error');
        }
    
    /* функция проверки емайл */
        function emailTest(input) {
            return !/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,8})+$/.test(input.value);
        }
    
    
        
    });


    <?php
    use PHPMailer\PHPMailer\PHPMailer;
    use PHPMailer\PHPMailer\Exception;
     
    require 'phpmailer/src/Exception.php';
    require 'phpmailer/src/PHPMailer.php';
    
    $mail = new PHPMailer(true);
    $mail->CharSet = 'UTF-8';
    $mail->setLanguage('ru', 'phpmailer/language/');
    $mail->IsHTML(true);
    
    
    
    $mail->setFrom('HPL');
    
    $mail->addAddress('Andrey56.89@mail.ru');
    
    $mail->Subject = 'У вас письмо!'
    
    
    $body = '<h1>Заявка!</h1>';
    
    if(trim(!empty($_POST['name']))){
        $body.='<p><strong>Имя:</strong> '.$_POST['name']. '</p>';
    }
    if(trim(!empty($_POST['phone']))){
        $body.='<p><strong>Телефон:</strong>' .$_POST['phone']. '</p>';
    }
    if(trim(!empty($_POST['email']))){
        $body.='<p><strong>email:</strong>' .$_POST['email']. '</p>';
    }
    
    $mail->Body = $body;
    
    if (!$mail->send()) {
        $message = 'Ошибка' ;
    } else {
        $message = 'Данные отправлены!';
    }
    
    $response = ['message' => $message];
    
    header('Content-type: application/json');
    echo json_encode($response);
    ?>