php - 将表单提交到同一个 PHP 文件时,未发送 HTML 电子邮件
问题描述
我正在处理一个消息表单,该表单在提交时将消息副本发送到电子邮件地址。form action
当定向到不同的 php 文件时,它工作正常。但是,当我指示表单将自身提交到同一个文件时,表单在其中将消息发送到数据库但没有发送电子邮件。如果有人能告诉我为什么会这样,那就太好了。这是contact.php
文件的代码:
<div class="form-wrap">
<form class="form-flex" action="contact.php" method="post">
<label for="">Send us a message</label>
<input type="text" name="name" type="text" placeholder="Name">
<input type="text" name="email" type="text" placeholder="Email">
<textarea name="message" id="message" placeholder="Message"></textarea>
<button class="btn-big" name="submit" type="submit">Send</button>
<?php
if(isset($_POST['submit'])) {
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
$connection = mysqli_connect('host', 'user', 'password', 'messages');
$name = mysqli_real_escape_string($connection, $name);
$email = mysqli_real_escape_string($connection, $email);
$message = mysqli_real_escape_string($connection, $message);
if($connection) {
$query = "INSERT INTO msg(name,email,message) ";
$query .= "VALUES ('$name','$email','$message')";
mysqli_query($connection, $query);
$email_subject = 'New Message';
$email_body = $message;
$to = 'myemail@gmail.com';
mail($to, $email_subject, $email_body);
echo "<p class='form'>Message sent!</p>";
} else {
die("<p class='form'>Database connection failed</p>");
}
}
?>
</form>
</div>
解决方案
推荐阅读
- r - 在 SUSE 12.4 上安装 LIBCURL-DEVEL 以使用 CURL R 包
- aspnetboilerplate - 未创建动态 Web API 控制器
- javascript - 为什么这个 javascript sleep 函数会立即跳过?
- javascript - datepicker : 使用法语 datepicker 时出错
- python - 如何在python中将时间戳转换为特定的数据时间格式?
- javascript - 启用或禁用列表框的复选框
- python-3.x - 如何在python中仅突出显示匹配的正则表达式的某些部分
- laravel - 如何在cdn上制作laravel echo setup js
- python - 带有f-string和pandas数据框的for循环
- apache-spark - 从技术角度看RDD和Dataset/Dataframe之间的关系