A
A
Anton Parkhomenko2018-02-25 16:14:07
PHP
Anton Parkhomenko, 2018-02-25 16:14:07

Why is the form not submitting?

Good afternoon, dear programmers.
Can you please tell me what is the error in submitting the form from the site? Generally it won't start at all.

Form code:
<form id="contact-form" method="post" enctype="multipart/form-data">
                <div class="row">
                  <div class="form-group col-md-6">
                    <input type="text" name="name" class="form-control" id="first-name" placeholder="Имя" required="required">
                  </div>
                  <div class="form-group col-md-6">
                    <input type="email" name="email" class="form-control" id="first-email" placeholder="E-mail" required="required">
                  </div>
                  <div class="form-group col-md-12">
                    <input type="text" name="subject" class="form-control" id="subject" placeholder="Тема" required="required">
                  </div>
                  <div class="form-group col-md-12">
                    <textarea rows="6" name="message" class="form-control" id="description" placeholder="Ваше сообщение" required="required"></textarea>
                  </div>
                  <div class="col-md-12">
                    <div class="actions">
                      <input type="submit" value="Отправить" name="submit" id="submitButton" class="btn btn-lg btn-contact-bg" title="Отправить сообщение!" />
                    </div>
                  </div>
                </div>
              </form>

Script code:
// JavaScript contact form Document
$(document).ready(function() {
  $('#contact-form').submit(function() {
  $('#contact-form .error').remove();
  var hasError = false;
  $('.requiredField').each(function() {
  if(jQuery.trim($(this).val()) == '') {
    var labelText = $(this).prev('label').text();
    $(this).parent().append('<span class="error">You forgot to enter your '+labelText+'</span>');
    $(this).addClass('inputError');
    hasError = true;
    } else if($(this).hasClass('email')) {
    var emailReg = /^([\w-\.][email protected]([\w-]+\.)+[\w-]{2,4})?$/;
    if(!emailReg.test(jQuery.trim($(this).val()))) {
    var labelText = $(this).prev('label').text();
    $(this).parent().append('<span class="error">You entered an invalid '+labelText+'</span>');
    $(this).addClass('inputError');
    hasError = true;
    }
    }
    });
    if(!hasError) {
    $('#contact-form input.submit').fadeOut('normal', function() {
    $(this).parent().append('');
    });

     $("#loader").show();
        $.ajax({
            url: "contact.php",
            type: "POST",
            data:  new FormData(this),
            contentType: false,
            cache: false,
            processData:false,
            success: function(data){
        $('#contact-form').slideUp("fast", function() {
        $(this).before('<div class="success">Thank you. Your Email was sent successfully.</div>');
        $("#loader").hide();
        })
            }           
       });
     
     return false;
    }
 
   });
});
contact.php code
<?php 
  $errors = '';
  $limit_size=10000000;
  $myemail = 'почта@site.ru'; /*Replace with your email*/
  if(empty($_POST['name'])  ||
     empty($_POST['email']) ||
     empty($_POST['subject']) ||
     empty($_POST['message']))
  {
  $errors .= "\n Error: Required Field";
  }	

    /*data*/
  $name = $_POST['name'];
  $email = $_POST['email'];
  $subject = $_POST['subject'];
  $message = $_POST['message'];
  $headers = "From: $email";

  if (!eregi(
  "^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", 
  $email))
  {
  $errors .= "\n Error: Invalid Email Address";
  }

  if( empty($errors))
  {
  $to = $myemail;
  $email_subject = "A New Message Awaits: $subject";
  $txt = "You have received a new message from your website. Details are given below.\n Name: $name \n Email: $email \n Subject: $subject \n Message: \n $message";
  
  // preparing attachments
  $files = array();
    if($file_one)
     {
     array_push($files,$file_one);
   }	  
   
    $semi_rand = md5(time()); 
    $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x"; 
    $headers .= "\nMIME-Version: 1.0\n" . "Content-Type: multipart/mixed;\n" . " boundary=\"{$mime_boundary}\""; 
    $message = "This is a multi-part message in MIME format.\n\n" . "--{$mime_boundary}\n" . "Content-Type: text/plain; charset=\"iso-8859-1\"\n" . "Content-Transfer-Encoding: 7bit\n\n" . $txt . "\n\n"; 
    $message .= "--{$mime_boundary}\n";
    
      for($x=0;$x<count($files);$x++){
      $file = fopen('tmp/'.$files[$x],"rb");
      $data = fread($file,filesize('tmp/'.$files[$x]));
      fclose($file);
      $data = chunk_split(base64_encode($data));
      $message .= "Content-Type: {\"application/octet-stream\"};\n" . " name=\"$files[$x]\"\n" . 
      "Content-Disposition: attachment;\n" . " filename=\"$files[$x]\"\n" . 
      "Content-Transfer-Encoding: base64\n\n" . $data . "\n\n";
      $message .= "--{$mime_boundary}\n";
    }
 
  mail($to, $email_subject, $message, $headers);
  }
?>

Answer the question

In order to leave comments, you need to log in

1 answer(s)
D
Dmitry, 2018-02-25
@slo_nik

Good afternoon.
In the php file, line 20, the eregi function
Warning
This function has been DEPRECATED in PHP 5.3.0, and REMOVED in PHP 7.0.0.
There are the following alternatives:
preg_match() (Use the i (PCRE_CASELESS) modifier)
ps
There is a mistake, and not one.
I showed you the first one, find the rest yourself. See server logs, browser console.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question