@helpmeplease196

Почему не работает отправка формы?

Пока не знакома с php от слова совсем, но нужно отправить форму. Нашла самый простой шаблон, но все равно не работает.
Заранее спасибо за ответы.

<div class="form">
  <form action="mail.php" method="POST" id="form" class="form_body">
    <h1 class="form_title">Прошу перезвонить</h1>
    <div class="form_item">
      <label for="form_name" class="form_label">Имя</label>
      <input type="text" name="name" id="form_name" class="form_input _reg">
    </div>
    <div class="form_item">
      <label for="form_email" class="form_label">Email</label>
      <input type="text" name="email" id="form_email" class="form_input _reg _email">
    </div>
    <div class="form_item">
      <label for="form_phone_num" class="form_label">Номер телефона</label>
      <input type="text" name="phone_num" id="form_phone_num" class="form_input _reg">
    </div>
    <div class="form_item">
      <label for="form_massage" class="form_label">Сообщение</label>
      <textarea name="massage" id="form_massage" class="form_input"></textarea> 
    </div>
    <div class="form_item">
      <div class="checkbox">
        <input type="checkbox" name="check" class="checkbox_input _reg " id="form_checkbox">
        <label for="form_checkbox" class="checkbox_label"> напишите на what's up</label>
      </div>
    </div>
    <button type="submit" class="form_button">отправить</button>
  </form>
</div>


"use strict"

document.addEventListener("DOMContentLoaded", function(){

const form = document.getElementById('form');

form.addEventListener('submit', formsend);

  function formsend (e) {
    e.preventDefault();
    let error = formvalidate(form)
   
 
}


function formvalidate(form){
  let error = 0;
  let formreq = document.querySelectorAll("._reg");
  
  for(let index=0; index<formreq.length; index++){
     const input =  formreq[index];
     formRemoveError(input);     

    if(input.value === ""){    	
        formAddError(input);
        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");
}

});


<?php 

require_once('phpmailer/PHPMailerAutoload.php');
$mail = new PHPMailer;
$mail->CharSet = 'utf-8';

$name = $_POST['name'];
$email = $_POST['email'];
$phone = $_POST['phone_num'];


//$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('annahrulkovayandex.ru@mail.ru'); // от кого будет уходить письмо?
$mail->addAddress('******@yandex.ru');     // Кому будет уходить письмо 
//$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    = '' .$name . ' оставил заявку, его телефон ' .$phone. '<br>Почта этого пользователя: ' .$email;
  • Вопрос задан
  • 149 просмотров
Пригласить эксперта
Ответы на вопрос 1
@Siverius
Мне кажется, вот тут
function formsend (e) {
    e.preventDefault();
    let error = formvalidate(form)
   
 
}

не хватает функции отправки.
Сейчас вы просто проверяете, чтобы данные были не пустыми, но никуда не шлёте их
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы