【发布时间】:2016-09-28 15:54:39
【问题描述】:
我已经写了一个联系表格,当我输入“姓名、电子邮件和消息”时,我会收到电子邮件。但是,当我输入主题时,它会将我带到“谢谢”页面,但我似乎从未收到过电子邮件。
我已尝试更改 PHP 脚本中的不同变量,但这不起作用。我无法弄清楚是什么阻止了电子邮件的发送。请参阅下面的代码。
<?php
error_reporting(-1);
ini_set('display_errors', 'On');
set_error_handler("var_dump");
if(isset($_POST['submit'])){
$first_name = $_POST['first_name'];
$last_name = $_POST['last_name'];
$email = $_POST['email'];
$subject = $_POST['subject'];
$message = $_POST['message'];
$formcontent = "From: $first_name $last_name \n \n Message: $message";
$to = 'EMAIL@ADDRESS.DONTSHOW';
$mailheader = "From: $email \r\n";
mail($to, $subject, $formcontent, $mailheader) or die("Error!");
echo "Thank You! Your kind message has been recieved!";
}
?>
<form method="POST" action="mail.php">
<div class="form-inline">
<label for="Firstname">Name</label>
<input type="text" class="form-control"
id="Firstname" name="first_name" placeholder="First Name">
<input type="text" class="form-control"
id="Lastname" name="last_name" placeholder="Last Name">
</div>
<div class="form-group">
<label for="Email">E-mail</label>
<input type="email" class="form-control"
id="Email" name="email" placeholder="Email Address">
</div>
<div class="form-group">
<label for="Subject">Subject</label>
<input type="text" class="form-control"
id="Subject" name="subject" placeholder="Let me know what it's about">
</div>
<div class="form-group">
<label for="Message">Message
</label>
<textarea class="form-control"
id="Message" name="message" rows="6" placeholder="Send me something awesome!"></textarea>
</div>
<button type="submit" name="submit" class="btn btn-default">Submit
</button>
</form>
【问题讨论】:
-
error_reporting(~1);那个波浪号在那里做什么? -
哎呀!这意味着error_reporting(-1)出现的错误是“未定义的索引:主题”,但我已经在php和html中声明了它。 @Fred-ii-
-
嗯...这可能是因为您的输入中断/在单独的行上
<input type="text" class="form-control" id="Subject" name="subject" placeholder="Let me know what it's about">- 尝试将其放在一行中;我以前见过这种情况。您的<textarea>和电子邮件也是如此。 -
还要确保您填写了所有字段。
-
所以你发布的是“所有”你的代码?你没有留下任何东西,对吧?如果您进行了任何更改并且没有上传新文件,那么您的缓存(内存)中可能还有一些内容。我见过的情况很多。如有疑问,请对所有变量/POST 数组使用条件语句,或者更好的是,使用三元运算符。我在这里没有其他可以添加的内容。