Пустое сообщение с формы обратной связи PHP

262
04 марта 2017, 05:55

Прошу помощи, приходят сообщения, в которых только такое содержание: Name:

Email:

Subject:

Message:

html

 <section id="contact-page">
    <div class="container">
        <div class="center">        
            <h2>Оставьте своё сообщение</h2>
            <p class="lead">123123123asfasdasdasdasd</p>
        </div> 
        <div class="row contact-wrap"> 
            <div class="status alert alert-success" style="display: none"></div>
            <form id="main-contact-form" class="contact-form" name="contact-form" method="post" action="sendemail.php">
                <div class="col-sm-5 col-sm-offset-1">
                    <div class="form-group">
                        <label>Ваше имя *</label>
                        <input type="text" name="name" class="form-control" required="required">
                    </div>
                    <div class="form-group">
                        <label>Email *</label>
                        <input type="email" name="email" class="form-control" required="required">
                    </div>
                    <div class="form-group">
                        <label>Телефон</label>
                        <input type="number" class="form-control">
                    </div>
                    <div class="form-group">
                        <label>Компания</label>
                        <input type="text" class="form-control">
                    </div>                        
                </div>
                <div class="col-sm-5">
                    <div class="form-group">
                        <label>Тема *</label>
                        <input type="text" name="subject" class="form-control" required="required">
                    </div>
                    <div class="form-group">
                        <label>Сообщение *</label>
                        <textarea name="message" id="message" required="required" class="form-control" rows="8"></textarea>
                    </div>                        
                    <div class="form-group">
                        <button type="submit" name="submit" class="btn btn-primary btn-lg" required="required">ОТПРАВИТЬ</button>
                    </div>
                </div>
            </form> 
        </div><!--/.row-->
    </div><!--/.container-->
</section><!--/#contact-page-->

PHP

<?php
header('Content-type: application/json');
$status = array(
    'type'=>'success',
    'message'=>'Спасибо, что написали нам. '
);
$name = $_POST['name']; 
$email = $_POST['email']; 
$subject = $_POST['subject']; 
$message = $_POST['message']; 

$email_from = $email;
$email_to = 'pmymail@mail.mail';//replace with your email

$body = ('Name: ' . $name . "\n\n" . 'Email: ' . $email . "\n\n" . 'Subject: ' . $subject . "\n\n" . 'Message: ' . $message);
$success = @mail($email_to, $subject, $body, 'From: <'.$email_from.'>');
echo json_encode($status);
die;
Answer 1

Такое ощущение, что выдран кусок из кода. Попробуйте в самый верх файла вставить:

$subject = $_POST['subject'];
$msg = $_POST['message'];
$mailheaders = "Content-Type: text/plain; charset=utf-8\n";
$mailheaders .= "From: name@".$_SERVER['HTTP_HOST']."\n";
$mailheaders .= "From: ".$_POST['name']."<".$_POST['email'].">\n";
mail('vashemail@mail.com', $subject, $msg, $mailheaders);

//exit; // %) проверяйте входящие данные

Answer 2

Вся проблема кроется в том что ваша форма контакта не имеет защиты от спам ботов, т.е любой спам бот который 'гуляет' по интернету, может спокойно использовать вашу форму для отправления спама.Вам надо (например) установить Google recaptcha в коде вашей формы для предотвращения несанкционированных отправок формы. Для примера можете прочитать ТУТ

Answer 3

<?php  
if(isset($_POST)){ 
$sendto   = "xxxxxxx@yandex.ru";//адрес куда должно прийти письмо 
$username = htmlentities($_POST['name']); 
$usermail = htmlentities($_POST['email']); 
$useradvertising = htmlentities($_POST['advertising']); 
$currDate = date("d/m/Y H:i:s"); 
//$user = $_POST['']; 
 
// Формирование заголовка письма 
$subject  = "письмо пришло с сайта-хххххх"; 
$headers  = "From:" . strip_tags($username) . "\r\n"; 
$headers .= "Reply-To:". strip_tags($usermail) . "\r\n"; 
$headers .= "Advertising:". strip_tags($useradvertising). "\r\n"; 
$headers .= "Date:". strip_tags($currDate). "\r\n"; 
$headers .= "MIME-Version: 1.0\r\n"; 
$headers .= "Content-Type: text/html;charset=utf-8 \r\n"; 
 
// Формирование тела письма 
$msg  = "<html><body style='font-family:Arial,sans-serif;'>"; 
$msg .= "<h2 style='font-weight:bold;border-bottom:1px dotted #ccc;'>Заказ с landingPage</h2>\r\n"; 
$msg .= "<p><strong>Имя:</strong>".$username."</p>\r\n"; 
$msg .= "<p><strong>Email:</strong>".$usermail."</p>\r\n"; 
$msg .= "<p><strong>Тема:</strong>".$useradvertising."</p>\r\n"; 
$msg .= "<p><strong>Дата:</strong>".$currDate."</p>\r\n"; 
$msg .= "</body></html>"; 
 
// отправка сообщения 
if(@mail($sendto, $subject, $msg, $headers)){ 
//ответ отправителю 
	echo "<p  style='margin-top:15%'><strong>".$username." ваш заказ принят,</strong></p>\r\n <p><strong>ответ будет отправлен,</strong></p>\r\n <p><strong>на адрес : ".$usermail."</strong></p>"; 
} else { 
	echo "<p><strong>Приносим извинения.</strong></p>\r\n <p><strong>Произошел сбой системы.</strong></p>\r\n <p><strong>Попробуйте еще раз.</strong></p>"; 
} 
}; 
?>

READ ALSO
PHP Двойные и одинарные кавычки

PHP Двойные и одинарные кавычки

Всем доброго дняСовсем запутался в кавычках:

344
Проверка DDOS защиты сайта самим DDOSом

Проверка DDOS защиты сайта самим DDOSом

Написал защиту от DDOS атак на сайте, но теперь хочется проверить ее в действии с другого сервера кидая запросы на свойЧтобы посмотреть на все...

248
неправильно отображается в HTML текст из mysql

неправильно отображается в HTML текст из mysql

пытаюсь вывести на страницу в отдельные блоки данные из таблицы, но если текст немного длиннее то все идёт в одну строку как будто игнорит...

226
Реально ли получить значение URL браузера на PHP?

Реально ли получить значение URL браузера на PHP?

Всем доброго дняЗадача состоит следующая - хочется проверить url, и если человек использует анонимайзер (будет расхождение в хосте) сделать...

283