PHP联系表格不发送邮件,结果为空白页
问题描述:
试图通过我的网站的联系表单发送邮件导致一个空白页面(没有确认信息),并且没有发送电子邮件。PHP联系表格不发送邮件,结果为空白页
该窗体的HTML是:
<form method="post" action="index.php">
<div class="field half first">
<label for="name">Name</label>
<input type="text" name="name" id="name" />
</div>
<div class="field half">
<label for="email">Email</label>
<input type="text" name="email" id="email" />
</div>
<div class="field">
<label for="message">Message</label>
<textarea name="message" id="message" rows="4"></textarea>
</div>
<ul class="actions">
<li><input type="submit" value="Send Message" class="special" /></li>
<li><input type="reset" value="Reset" /></li>
</ul>
</form>
index.php文件是:
<?php
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
$from = 'From: SiteContactForm';
$to = '[email protected]';
$subject = 'Hello';
$body = "From: $name\n E-Mail: $email\n Message:\n $message";
if (isset($_POST['submit'])) {
if (mail ($to, $subject, $body, $from)) {
echo '<p>Your email has been sent.</p>';
} else {
echo '<p>Something broke.</p>';
}
}
?>
,这儿任何错误,将是造成东西断了? 'to'电子邮件是我真实的电子邮件,只是在这里进行了编辑。
答
试试这个方法,你需要命名提交
<form method="post" action="index.php">
<div class="field half first">
<label for="name">Name</label>
<input type="text" name="name" id="name" />
</div>
<div class="field half">
<label for="email">Email</label>
<input type="text" name="email" id="email" />
</div>
<div class="field">
<label for="message">Message</label>
<textarea name="message" id="message" rows="4"></textarea>
</div>
<ul class="actions">
<li><input type="submit" name="submit" value="Send Message" class="special" /></li>
<li><input type="reset" value="Reset" /></li>
</ul>
</form>
否则if (isset($_POST['submit']))
不会做任何事情,因为它寻找“提交”设置/通过
+0
谢谢你和Qirel,挺我的一个疏忽。现在工作正常,谢谢! – Edge
送你不必与属性的元素'name =“submit”',所以它永远不会触发 – Qirel
'
'为'' – clearshot66