我的语法知识可悲地没有达到应有的水平,我很确定我犯了一个非常愚蠢的错误。
我有一个HTML表单和php文件,都生活在我的服务器上。在发送时,我收到一封电子邮件,但是html表单中的值没有填充。谁能指出我错在哪里吗?
HTML是:
<form action="contact.php" mothod="post" id="contact-form" target="blank">
<input class="form-control input-outline" id="formName" type="text" name="formName" placeholder="Full name:">
<input class="form-control input-outline" id="formEmail" type="text" name="formEmail" placeholder="Email address:">
<textarea class="form-control input-outline" id="formMessage" rows="6" cols="50" name="formMessage" placeholder="Message"></textarea>
<button type="submit">Submit</button>
</form>
PHP是:
<?php
$email_to = "myemail@myaddress.co.uk";
$email_subject = "New form submissions";
$name = $_POST['formName']; // required
$email = $_POST['formEmail']; // required
$message = $_POST['formMessage']; // required
$headers .= "rn Name: " . $name;
$headers .= "rn Email: " . $email;
$headers .= "rn Message: " . $message;
@mail($email_to, $email_subject, $headers);
?>
如果可以解释我的错误,这样我就能从中吸取教训,那就太棒了。
注。
在我的办公桌前呆了很长时间,现在正在编码,所以如果这是一个非常愚蠢的错误,那么谢谢你对我的耐心。
All the best -W
首先,您没有定义$header
,因此将其定义为空字符串。然后,如果你打算发送一个真正的邮件标题,那么你必须包含一个"from"头文件,根据规范:
发送邮件时,邮件必须包含
From
报头。这可以通过addtional_headers来设置参数,也可以在php.ini
中设置默认值。
您还在HTML:mothod -> method
中犯了一个错字。
$email_to = "myemail@myaddress.co.uk";
$email_subject = "New form submissions";
$name = $_POST['formName']; // required
$email = $_POST['formEmail']; // required
$message = $_POST['formMessage']; // required
$headers = "";
$headers .= "rn Name: " . $name;
$headers .= "rn Email: " . $email;
$headers .= "rn Message: " . $message;
@mail($email_to, $email_subject, $headers);
您的错误可能是在表单中使用method而不是method
<form action="contact.php" method="post" id="contact-form" target="blank">