Не работает обратная связь в Php
Я решил сделать для сайта форму обратной связи, но она не работает
Пишу на php относительно недавно, помогите пожалуйста (проект на хостинг загружен)
Вёрстка формы:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Обратная связь</title>
</head>
<body>
<?php
require "header.php";
?>
<center><h1>Обратная связь</h1></center>
<form action="feedback_manager.php" method="post">
<center><input type="text" name="feedback" placeholder="Ваша электронная почта"></center>
<center><input type="text" name="problem" placeholder="Ваша проблема"></center>
<center><input name="descr" placeholder="Подробное описание"></center>
<center><input type="submit"></center>
</form>
</form>
</body>
</html>
Код обработки и отправки почты:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<?php
$user = htmlspecialchars(trim($_POST['feedback']));
$theme = htmlspecialchars(trim($_POST['descr']));
$msg = htmlspecialchars(trim($_POST['problem']));
if($user == null) {
echo '<center>'."Вы не ввели вашу электронную почту!".'</center>'.;
}
if($msg == null) {
echo '<center>'."Вы не описали саму проблему".'</center>'.;
}
if($theme == null) {
echo '<center>'."Вы не ввели тему вашей проблемы".'</center>'.;
}
else {
echo '<center>'.'Ваше сообщение отправлено! Ожидайте ответа на почту'.'</center>';
$theme = "=?utf-8?B?".base64_encode($theme)."?=";
$headers = "From: $user\r\nReply-to: $user\r\nContent-type: text/plain; charset=utf-8\r\n";
mail(" kirilldyatlov2007@mail.ru ", $theme, $msg, $headers);
}
?>
</form>
</body>
</html>
1) Проверьте, что возвращает функция mail(), если false возможно на хостинге отключена её поддержка (или заблокирована для вас).
2) $headers = "From: $user — у вас в переменной $user почта получателя. Зачем вы указываете такую же отправителем? Доверия к такому письму нет, скорее всего mail вообще его не пропустит. Пишите доменную почту, например info@вашсайт.ру (создавать не обязательно). Если не поможет попробуйте для теста отправлять письмо не на mail.ru , а например на яндекс
Возможно ошибка синтаксическая. Там в конце строк, где идёт '</center>' стоит точка конкатенации в конце. Вроде, так не должно быть.
почтовый сервер у тебя настроен?
потому-что у тебе вероятно не настроен SMTP mail на хостинге
Скачай готовую рабочую форму и не майся