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

253
01 марта 2017, 22:27

PHP не знаю, к сожалению. Пытаюсь прикрутить к сайту готовую форму, код которой нашла в сети. И сообщения не приходят, увы. Было только тестовое сообщение с сайта-источника, подтверждающее, что все работает. Это мозга мне не хватает. В html пишу:

<div class="ddd">
<form name="MyForm" action="http://baseflat.ru/mail.php" method="post" >
<p><input class="input" name="name" type="text" style="width:35%;min-width: 140px; max-width: 350px;" /> Ваше имя*</p>
<p><input class="input" name="phone" type="text" style="width:35%;min-width: 140px; max-width: 350px;" /> Телефон*</p>
<p><input class="input" name="email" type="text" style="width:35%;  min-width: 140px; max-width: 350px;" /> Эл. почта*</p>
<p>Текст сообщения:<br /><textarea name="body" cols="1" rows="5" style="width:50%;  min-width: 250px; max-width: 850px;" /></textarea></p>
<p><input id="submit" value="Отправить" type="submit" /></p>
</form>
</div>

В файле mail.php такое содержание:

<meta http-equiv='refresh' content='5; url=http://www.baseflat.ru/'>
<meta charset="UTF-8" />
<?php
if (isset($_POST['name'])) {$name = $_POST['name']; if ($name == '')     {unset($name);}}
if (isset($_POST['email'])) {$email = $_POST['email']; if ($email == '')     {unset($email);}}
if (isset($_POST['sub'])) {$sub = $_POST['sub']; if ($sub == '')     {unset($sub);}}
if (isset($_POST['body'])) {$body = $_POST['body']; if ($body == '')     {unset($body);}}
if (isset($name) && isset($email) && isset($sub) && isset($body)){
$address = "kv7151408@yandex.ru";
$mes = "Имя: $name \nE-mail: $email \nТема: $sub \nТекст: $body";
$send = mail ($address,$sub,$mes,"Content-type:text/plain; charset =     UTF-8\r\nFrom:$email");
if ($send == 'true')
{echo "Сообщение отправлено успешно, через 5 секунд Вы будете направлены     на главную страницу сайта <a href='http://www.baseflat.ru/</a>,где сможете     продолжить просмотр";}
else {echo "Ошибка, сообщение не отправлено!";}
}
else {echo "Вы заполнили не все поля, вернитесь назад и заполните необходимые поля";}
?>

Подскажите, что нужно исправить? Сервер поддерживает php. А я пока - нет :( Спасибо! P.S. Никакого сообщения об ошибке/отправке и т.п. не получаю. Просто обновляется страница, и всё.

Файл.log я, таки, нашла. Его сюда копировать? Error.log - пустые файлы. access.log - много каких-то данных, в которых я ничего не понимаю.

В папке "Спам" тоже нет писем.

Answer 1
<div class="ddd">
<form name="MyForm" action="http://baseflat.ru/mail.php" method="post" >
    <p><input class="input" name="name" type="text" style="width:35%;min-width: 140px; max-width: 350px;" /> Ваше имя*</p>
    <p><input class="input" name="phone" type="text" style="width:35%;min-width: 140px; max-width: 350px;" /> Телефон</p>
    <p><input class="input" name="email" type="text" style="width:35%;  min-width: 140px; max-width: 350px;" /> Эл. почта*</p>
    <p><input class="input" name="sub" type="text" style="width:35%;min-width: 140px; max-width: 350px;" /> Тема сообщения*</p>
    <p>Текст сообщения*:<br />
        <textarea name="body" cols="1" rows="5" style="width:50%;  min-width: 250px; max-width: 850px;" /></textarea>
    </p>
    <p><input id="submit" value="Отправить" type="submit" /></p>
</form>

<?php 
if(isset($_POST['name'])){ $name = $_POST['name']; if($name == ''){ unset($name);}} 
if(isset($_POST['email'])){ $email = $_POST['email']; if($email == ''){ unset($email);}} 
if(isset($_POST['sub'])){ $sub = $_POST['sub']; if($sub == ''){ unset($sub);}} 
if(isset($_POST['body'])){ $body = $_POST['body']; if($body == ''){ unset($body);}} 
if(isset($_POST['phone'])){ $phone = $_POST['phone']; if($phone == ''){ unset($phone);}} 
 
if(isset($name) && isset($email) && isset($sub) && isset($body)) 
{ 
	$address = "kv7151408@yandex.ru"; 
 
	if(isset($phone)) 
	{ 
		$mes = "Имя: $name\nE-mail: $email\nТелефон: $phone\nТема: $sub\nТекст: $body"; 
	} 
	else 
	{ 
		$mes = "Имя: $name\nE-mail: $email\nТема: $sub\nТекст: $body"; 
	} 
 
	$mailheaders  = 'MIME-Version: 1.0' . "\r\n"; 
	$mailheaders .= "From: $email <$email>\r\n";  
	$mailheaders .= "Reply-To: noreply\r\n";  
 
	$address = '<'.$address.'>'; 
 
	try 
	{ 
		mail($address, $sub, $mes, $mailheaders); 
		echo "Сообщение отправлено успешно, через 5 секунд Вы будете направлены на главную страницу сайта <a href='http://www.baseflat.ru/</a>,где сможете продолжить просмотр."; 
	} 
	catch(Exception $e) 
	{ 
		echo $e->getMessage(); 
	} 
} 
else 
{ 
	echo "Вы заполнили не все поля, вернитесь назад и заполните необходимые поля"; 
} 
?>

READ ALSO
перечислить все дни с текущей даты

перечислить все дни с текущей даты

нужно вывести все даты начиная с текущей, и не больше 30 дней

173
PHP, HTML from &lt;textarea&gt; Принять значение

PHP, HTML from <textarea> Принять значение

Добрый деньУ меня есть такая часть кода:

166
Проблема со скриптом авторепоста в ВК

Проблема со скриптом авторепоста в ВК

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

346