Недавно я начал изучать PHP и у меня возникли проблемы с контактной формой.PHP Contact Form - форму, заменяемую сообщением?
Проблема с формой заключается в том, что она не отправляет электронное письмо и не перекликается с сообщением об ошибке ниже формы еще до того, как я его отправлю. Иногда я заставляю его работать, а затем снова ломается.
Кроме того, я хотел бы получить сообщение «Сообщение отправлено!». для замены всей контактной формы при ее отправке. Как это сделать, если не ссылаться на другую страницу?
Код следующее:
<form method="POST" action="index.php">
<input name="name" type="text" placeholder="Name">
<input name="email" type="email" required placeholder="Email">
<input name="subject" type="text" placeholder="Subject">
<textarea name="message" rows="15" required placeholder="Message"></textarea>
<input name="submit" type="submit" value="Send">
</form>
<?php
if(isset($_POST['submit']))
{
$name_field=$_POST['name'];
$email_field=$_POST['email'];
$subject_field=$_POST['subject'];
$message_field=$_POST['message'];
$to="[email protected]";
$from="[email protected]";
$subject="Contact Form Message";
$body="Name: $name_field\n Email: $email_field\n Subject: $subject_field\n Message:\n $message_field";
mail($to,$subject,$body,$from);
echo "<p>Message sent!</p>";
}
else
{
echo "<p>An error occured. Please try again.</p>";
}
?>
Большое спасибо за любую помощь вообще. Кроме того, если у вас есть идеи, как сделать код лучше, чище или эффективнее, пожалуйста, расскажите!
Вы забыли сказать нам, что на самом деле ломает. –
Примечание: вы можете использовать форму action = "" вместо hardcoding имя страницы. – Nilpo
Да, извините, я только что редактировал вопрос! – Inventor