我最近开始学习 PHP,但在联系表格方面遇到了问题。
表单的问题在于它不发送电子邮件,甚至在我发送它之前就在表单下方回显错误消息。有时我让它工作,然后它又坏了。
另外,我想要消息“消息已发送!” 发送时替换整个联系表。如何在不链接到另一个页面的情况下实现这一点?
代码如下:
<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="example@outlook.com";
$from="example@outlook.com";
$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>";
}
?>
非常感谢您提供的任何帮助。另外,如果您知道如何使代码更好、更简洁或更高效,请告诉我!