@ArtemRubeUa

Как настроить форму?

Подскажите пожалуйста почему форма не отправляет сообщение на e-mail.Может быть я просто что-то сделал неправильно,так как я новичок.На одном хостинге функция mail() возвращала 1,но сообщение не приходило,а на втором тот самый код попросту выдает error.Как это все правильно настроить?
<form id="form">
        <div class="form-group">
            <label for="exampleInputEmail">Email address</label>
            <input name="email" type="email" class="form-control" id="exampleInputEmail" aria-describedby="emailHelp" placeholder="Enter email">
        </div>
        <div class="form-group">
            <label for="exampleInputText">Name</label>
            <input name="name" type="text" class="form-control" id="exampleInputText" placeholder="Name">
        </div>
        <div class="form-group">
            <label for="exampleInputPassword">Password</label>
            <input name="password" type="password" class="form-control" id="exampleInputPassword" placeholder="Password">
        </div>
        <div class="form-group">
            <textarea name="textarea" id="textarea" class="form-control"></textarea>
        </div>
        <button class="btn btn-success" id="send">Submit</button>
    </form>
    <div id="mess"></div>


('#send').on('click' , function (e) {
    e.preventDefault();

   const email = $('#exampleInputEmail').val().trim();
   const name = $('#exampleInputText').val().trim();
   const password = $('#exampleInputPassword').val().trim();
   const textarea = $('#textarea').val().trim();

   if(email == ''){
    $('#mess').text('Please,enter your email!');
    return false;
   }else if(name == ''){
        $('#mess').text('Please,enter your name!');
        return false;
    }else if(password == ''){
        $('#mess').text('Please,enter your password!');
        return false;
    }else if(textarea.length < 5){
        $('#mess').text('Minimal length 5!');
        return false;
    }
    $('#mess').text('');

   $.ajax({
      url : 'form.php',
      type : 'POST',
       cache : false,
      data : {'email': email , 'name' : name , 'password' : password , 'textarea' : textarea},
      dataType : 'html',
      beforeSend : function () {
          $('#send').prop('disabled' , true);
          $('#mess').text('loading...');
      },
       success : function (data) {
           $('#send').prop('disabled' , false);
           if(!data){
               $('#mess').text('error!!!');
           }else {
               console.log(data);
               $('#form').trigger('reset');
               $('#mess').text('success!!!');
           }


       }
   });
});


$email = $_POST['email'];
$name = $_POST['name'];
$password = $_POST['password'];
$textarea = $_POST['textarea'];

$site_name = 'Site name';

$subject = "This letter from .$site_name. ";

$to = 'artemrubets27@gmail.com';
$message = 'Value from form:' . "\r\n" .
    'Email'. $email. "\r\n" .
    'Name' . $name . "\r\n" .
    'Password'. $password . "\r\n" .
    'Textarea' . $textarea . "\r\n";

$headers = 'From:'. $email . "\r\n" .
    'Reply-To:' . $email . "\r\n" .
    'X-Mailer: PHP/' . phpversion();

mail($to , $subject ,$message , $headers);


//echo mail($to , $subject ,$message , $headers);
  • Вопрос задан
  • 158 просмотров
Решения вопроса 1
Что в логе ошибок PHP? Что в логе почтового сервера?
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@ArtemRubeUa Автор вопроса
Попробывал без JS , все-равно не работает,вот новый код формы,вроде-бы всё правильно
<form id="form" method="post" action="form.php">
        <div class="form-group">
            <label for="exampleInputEmail">Email address</label>
            <input name="email" type="email" class="form-control" id="exampleInputEmail" aria-describedby="emailHelp" placeholder="Enter email">
        </div>
        <div class="form-group">
            <label for="exampleInputText">Name</label>
            <input name="name" type="text" class="form-control" id="exampleInputText" placeholder="Name">
        </div>
        <div class="form-group">
            <label for="exampleInputPassword">Password</label>
            <input name="password" type="password" class="form-control" id="exampleInputPassword" placeholder="Password">
        </div>
        <div class="form-group">
            <textarea name="textarea" id="textarea" class="form-control"></textarea>
        </div>
<!--        <button class="btn btn-success" id="send">Submit</button>-->
        <input type="submit">
    </form>
    <div id="mess"></div>
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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