Задать вопрос
@vetaliy_net

Почему на хостинг не работает форма отправки PHP?

Не работает форма обратной связи на сайте, не могу понять почему, в консоли нет ни одной ошибки.

При отправке с open server в логах почты все приходит, а на хостинге появляется уведомления об успешной отправке, но так ничего и не доходит.

<?php
if (isset($_POST['name'])){
$to = ""; 
$subject = '=?UTF8?B?'.base64_encode('Сообщение с сайта').'?=';
$sitename = "http://www.prav.online";

$name = trim($_POST["name"]);
$phone = trim($_POST["phone"]);
$message = trim($_POST["message"]);
$name = htmlspecialchars($name);
$phone = htmlspecialchars($phone);
$name = urldecode($name);
$phone = urldecode($phone);
$name = trim($name);
$phone = trim($phone);

$message = ' 
 
  
  
  
  
Имя: '.$name.'
Телефон: '.$phone.'
Текст: '.$message.'
  
'; 

$headers = "Content-type: text/html; charset=utf-8 \r\n"; 
$headers.= "From: ".$subject." <".$sitename.">\r\n"; 

mail($to, $subject, $message, $headers); 
}
?>


<form >
           <form action="/php.php" method="POST">
           <input type="text" name="name" placeholder="введите ваше имя">
           <input type="text" name="phone" placeholder="введите ваш телефон">
           <input type="hidden" name="source" value="">
           <input type="hidden" name="keyword" value="">
           <input type="hidden" class="ref" name="ref">
           <input type="hidden" name="myform" value="forma_verh" >
		   
		   <textarea name="message" placeholder="Введите вопрос или удобное для вас время для звонка"></textarea>
           <input type="button" value="Отправить">
         </form>


if(f==0){
        $.ajax({
          type: "POST",
          url: 'php.php',
          data: {name:name, phone:phone, source:source, keyword:keyword, ref:ref, message:message},
          success :function (data) {;
            ga('send', 'event', 'posle_proverki_formy', 'otpravit_zayavku', myform);

            $('.bg_popup').hide();
            $('.main_modal').hide();
            $('.modal').hide();

            $('.thankyou').css('top', $(window).scrollTop() + $(window).height() / 2 - $('.thankyou').height() / 2 ).show();
            $('.bg_popup').show();
            setTimeout(function(){
             $('.thankyou').hide();
             $('.bg_popup').hide();
           }, 8000); 
            $('input[type="text"]').val('');
            $('textarea').val('');
          },
          dataType : 'text'
        });
      }

$(document).ready(function() {

	$("form4").submit(function() {
		$.ajax({
			type: "POST",
			url: "/php.php",
			data: $(this).serialize()
		}).done(function() {
			$(this).find("input").val("");
			alert("Спасибо за заявку! Скоро мы с вами свяжемся.");
			$("form4").trigger("reset");
		});
		return false;
	});
	
});
  • Вопрос задан
  • 933 просмотра
Подписаться 1 Оценить 2 комментария
Пригласить эксперта
Ответы на вопрос 1
Stalker_RED
@Stalker_RED
Скорее всего (95%, например), что на хостинге не настроена отправка через mail().
Обращайтесь в техподдержку хостинга или используйте PHPMailer.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
23 дек. 2024, в 09:41
5000 руб./за проект
23 дек. 2024, в 09:39
1000000 руб./за проект