@Astrawelt
Антон

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

Доброго дня, уважаемые программисты.
Подскажите пожалуйста, в чем ошибка отправки формы с сайта? Вообще никак не заводится.

Код формы:
<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>

Код скрипта:
// 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-\.]+@([\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
<?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);
	}
?>
  • Вопрос задан
  • 79 просмотров
Пригласить эксперта
Ответы на вопрос 1
slo_nik
@slo_nik Куратор тега PHP
Добрый день.
В файле php, 20 строка, функция eregi

Внимание
Эта функция объявлена УСТАРЕВШЕЙ в PHP 5.3.0, и УДАЛЕНА PHP 7.0.0.
Есть следующие альтернативы:
preg_match() (Используйте модификатор i (PCRE_CASELESS))


p.s.
Даже ошибки никакой нет. По нажатию на кнопку тупо ничего не происходит.

Ошибка есть, и не одна.
Первую я Вам показал, остальные найдите самостоятельно. Смотрите логи сервера, консоль браузера.
Ответ написан
Ваш ответ на вопрос

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

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