【发布时间】:2014-05-09 04:28:42
【问题描述】:
所以我最近将我的第一个网站上传到了 iPage 服务器。该网站运行完美,但联系表格除外,该表格出于某种原因拒绝从表格中发送任何电子邮件。 我使用带有 Post 方法的 PHP 脚本,并尝试多次修复我的代码以纠正我可能输入的任何错误,但到目前为止无济于事。代码如下:
HTML:
form action = "js/mailer.php" form method="post" name="contactform" id="contactform" class="form validate item_bottom" role="form">
<div class="form-group">
<input type="text" name="name" id="name" class="form-control required" placeholder="Name">
</div>
<div class="form-group">
<input type="email" name="email" id="email" class="form-control required email" placeholder="Email">
</div>
<div class="form-group">
<textarea name="message" id="message" class="form-control input-lg required" rows="9" placeholder="Enter Message"></textarea>
</div>
<div class="form-group text-center">
<input type="submit" id="contactForm_submit" class="btn btn-trans btn-border btn-full" value="Submit">
</div>
</form>
PHP:
<?php
if(isset($_POST['submit'])) {
$to = "aravindm3095@gmail.com";
$subject = "Hello Aravind!";
// data the visitor provided
$name_field = filter_var($_POST['name'], FILTER_SANITIZE_STRING);
$email_field = filter_var($_POST['email'], FILTER_VALIDATE_EMAIL);
$comment = filter_var($_POST['message'], FILTER_SANITIZE_STRING);
//constructing the message
$body = " From: $name_field\n\n E-Mail: $email_field\n\n Message:\n\n $comment";
mail($to, $subject, $body);
// redirect to confirmation
header('Location: confirmation.html');
} else {
echo "Failure";
}
?>
有人可以帮我解决这个问题吗?这可能是我的托管服务器错误,或者我的代码错误。非常感谢您的帮助
附加评论:按照提供的帮助(谢谢)我对 HTML 和 PHP 进行了必要的更改,但表单仍然无法正常工作。它不会回显失败或重定向到确认页面,并且在使用 Firefox 检查元素时,我注意到在点击提交按钮时,它下方会出现一个细分,上面写着“正在发送......”。但是没有发送电子邮件,没有回显消息或打开页面。
【问题讨论】:
-
您的表单标签已损坏,应如下所示:
-
另外,让我们知道它在做什么。它是在呼应失败吗?它会去confirmation.html但不发送邮件吗?显示任何具体错误?日志中有任何内容吗?
-
你在重复
form从form method="post"中删除form另外,为了争论,你有一个<缺少form action -
您的提交按钮也没有命名。您的条件语句取决于它。
-
把
name="submit"提交标签