php - 发送电子邮件的警报消息未显示
问题描述
在通过单击发送消息按钮发送电子邮件时,应显示一个警告框,但它既没有显示查询发送成功,也没有显示电子邮件未发送,我不知道我哪里出错了。请帮我解决这个问题。任何帮助都将是非常可观的。我附上我的contact.php 代码和mail.php 代码的一部分。谢谢你
联系人.php
<form id="contact-form" method="POST" action="mail.php">
<div class="row">
<div class="col-md-4">
<div class="form-group">
<label>Name</label>
<input class="form-control" name="name" id="name" placeholder="" type="text" required>
</div>
</div>
<div class="col-md-4">
<div class="form-group">
<label>Email</label>
<input class="form-control" name="email" id="email" placeholder="" type="email" required>
</div>
</div>
<div class="col-md-4">
<div class="form-group">
<label>Subject</label>
<input class="form-control" name="subject" id="subject" placeholder="" required>
</div>
</div>
</div>
<div class="form-group">
<label>Message</label>
<textarea class="form-control" name="message" id="message" placeholder="" rows="10" required></textarea>
</div>
<div class="text-right"><br>
<button class="btn btn-primary solid blank button" id="btn" type="submit" value="submit" name="submit">Send Message</button>
</div>
</form>
邮件.php
<?php
if (isset($_POST['submit'])){
$to = "contact@imatrixautomation.com";
$name = $_POST['name'];
$email = $_POST['email'];
$subject = $_POST['subject'];
$message = $_POST['message'];
$message .="\r\n from: $email";
if(mail ($to, $subject, $name, $message)){
echo "<script>alert('Enquiry sent successfully!');</script>";
}
else
{
echo "<script>alert('Mail was not sent. Please try again later');</script>";
}
}
header('Location: https://imatrixautomation.com/contact.php');
exit;
?>
解决方案
在contact.php 文件中
提交按钮缺少name="submit" 。
这一行应该是:
<button class="btn btn-primary solid blank button" id="btn" type="submit" name="submit" value="submit">Send Message</button>
解释:目前
if (isset($_POST['submit'])){
由于 POST['submit'] 为空,因此始终评估为 FALSE,因此它在 header() 处继续...
################
试试这个代码作为 mail.php 并告诉我们发生了什么;-)
<?php
if (isset($_POST['submit'])){
echo "submit is set to {$_POST['submit']} and now we send the email<br>";
$to = "contact@imatrixautomation.com";
$name = $_POST['name'];
$email = $_POST['email'];
$subject = $_POST['subject'];
$message = $_POST['message'];
$message .="\r\n from: $email";
if(mail ($to, $subject, $name, $message)){
echo "Enquiry sent successfully!<br>";
}
else
{
echo "Mail was not sent. Please try again later<br>";
}
} else{
echo"submit is not set<br>";
}
echo "after the if condition";
exit;
?>
在这里我有新的contact.php文件-只需复制粘贴即可
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Unbenanntes Dokument</title>
</head>
<body>
<form id="contact-form" method="POST" action="mail.php">
<div class="row">
<div class="col-md-4">
<div class="form-group">
<label>Name</label>
<input class="form-control" name="name" id="name" placeholder="" type="text" required>
</div>
</div>
<div class="col-md-4">
<div class="form-group">
<label>Email</label>
<input class="form-control" name="email" id="email" placeholder="" type="email" required>
</div>
</div>
<div class="col-md-4">
<div class="form-group">
<label>Subject</label>
<input class="form-control" name="subject" id="subject" placeholder="" required>
</div>
</div>
</div>
<div class="form-group">
<label>Message</label>
<textarea class="form-control" name="message" id="message" placeholder="" rows="10" required></textarea>
</div>
<div class="text-right"><br>
<button class="btn btn-primary solid blank button" id="btn" type="submit" name ="submit" value="submit">Send Message</button>
</div>
</form>
</body>
</html>
推荐阅读
- networking - 有哪些方法可以确保 UDP 按顺序传送数据包?
- angular - 动态渲染组件
- tcp - 为什么 tcp 实现使用字节序列号而不是段号进行流量控制?
- telegram-bot - Webhook Telegram 连续发送多个更新
- javascript - 可以直接用setinterval调用clearinterval吗?
- python - 如何从选择标签硒中选择所有值
- kotlin - 在 Kotlin 中未调用 IsInitialized
- amazon-web-services - SSL:握手超时
- javascript - 世博会文字转语音无法在 iPhone 7 上运行
- python - Python脚本在cmd中运行时不创建文本文件