Не приходят поля имя и сообщение через форму обратной связи на сайте.

webpauk
На сайте с 17.04.2015
Offline
41
686

Вот код. Мейл приходит. Не приходит текст сообщения и имя.

<?php

if($_POST)
{
$to_email = "info@сайт.рф"; //Recipient email, Replace with own email here

//check if its an ajax request, exit if not
if(!isset($_SERVER['HTTP_X_REQUESTED_WITH']) AND strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) != 'xmlhttprequest') {

$output = json_encode(array( //create JSON data
'type'=>'error',
'text' => 'Sorry Request must be Ajax POST'
));
die($output); //exit script outputting json data
}

//Sanitize input data using PHP filter_var().
$name = filter_var($_POST["name"], FILTER_SANITIZE_STRING);
$email = filter_var($_POST["email"], FILTER_SANITIZE_EMAIL);
$message = filter_var($_POST["message"], FILTER_SANITIZE_STRING);
$from = 'info@сайт.рф'; // Sender of contacts form emails
$subject = '=?utf-8?B?'.base64_encode('Заявка с сайта ').'?='; // Set the subject of email which you will receive

//email body
$message_body = $message."\r\n\r\n-".$name."\r\nEmail : ".$email;

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

$send_mail = @mail($to_email, $subject, 'Message sent via contact form '.$email , $headers);

if(!$send_mail)
{
//If mail couldn't be sent output error. Check your PHP email configuration (if it ever happens)
$output = json_encode(array('type'=>'error', 'text' => 'Could not send mail! Please check your PHP mail configuration.'));
die($output);
}else{
$output = json_encode(array('type'=>'message', 'text' => 'Отлично '.$name .'! Ваше письмо отправлено.'));
die($output);
}
}
?>
M
На сайте с 04.12.2013
Offline
223
#1

Что прям так и написано: "сайт.рф"?

Покажите, что приходит (служебные заголовки, тело письма, если есть).

Домены и скрипт для коротких ссылок: https://u75.ru/domains-for-shortcuts
webpauk
На сайте с 17.04.2015
Offline
41
#2
miketomlin:
Что прям так и написано: "сайт.рф"?

Покажите, что приходит (служебные заголовки, тело письма, если есть).

Приходит Message sent via contact form info@сайт.ru Заголовок тоже приходит.

сайт.рф для примера.

M
На сайте с 04.12.2013
Offline
223
#3

Ну, так что посылаете, то и приходит:


'Message sent via contact form '.$email
webpauk
На сайте с 17.04.2015
Offline
41
#4

Покажите, что приходит (служебные заголовки, тело письма, если есть).



---------- Добавлено 03.05.2015 в 23:56 ----------

miketomlin:
Ну, так что посылаете, то и приходит:

'Message sent via contact form '.$email

Имя и текст из поля сообщения не приходит.

---------- Добавлено 03.05.2015 в 23:59 ----------

Что дописать надо чтоб приходило с полей $message и $name?

M
На сайте с 04.12.2013
Offline
223
#5

Отправьте, придут :)

---------- Добавлено 04.05.2015 в 00:04 ----------

Что дописать надо чтоб приходило с полей $message и $name?
Что совсем в PHP ни бум-бум? Предупреждать нужно. Напишите $message_body вместо того кода, который я показывал.
webpauk
На сайте с 17.04.2015
Offline
41
#6
miketomlin:
Отправьте, придут :)

---------- Добавлено 04.05.2015 в 00:04 ----------

Что совсем в PHP ни бум-бум? Предупреждать нужно. Напишите $message_body вместо того кода, который я показывал.

$message_body = @mail($to_email, $subject, 'Message sent via contact form '.$email , $headers); Не работает. Вообще не отправляет.

---------- Добавлено 04.05.2015 в 00:13 ----------

$send_mail = @mail($to_email, $subject, 'Message sent via contact form '.$message_body , $headers); заработало тока имени нет и кракозябры.

M
На сайте с 04.12.2013
Offline
223
#7

Ппц...


$send_mail = @mail($to_email, $subject, $message_body, $headers);
webpauk
На сайте с 17.04.2015
Offline
41
#8
miketomlin:
Ппц...

$send_mail = @mail($to_email, $subject, $message_body, $headers);

кракозябры приходят.

M
На сайте с 04.12.2013
Offline
223
#9

Для борьбы с кракозябрами попробуйте это:


$headers = 'From: '.$from.'' . "\r\n" .
'Reply-To: '.$email.'' . "\r\n" .
'MIME-Version: 1.0'."\r\n".
'Content-Type: text/plain; charset=utf-8'."\r\n".
'X-Mailer: PHP/' . phpversion();

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий