我正在使用在线找到的指南来创建我的第一个 PHP 联系表单。一切正常,除了消息字段为空白外,已收到电子邮件,所有其他部分都很好。我仔细查看了一下,发现有数百个类似的问题已发布,但我找不到任何适合我的答案,如果答案已经存在,我深表歉意,非常感谢所有帮助。
HTML:
<div class="contactform">
<h1>YOUR NAME</h1>
<form class="commentform" action="message.php" method="post">
<input type="text" name="name" class="nametext">
<br />
<h1>YOUR EMAIL</h1>
<input type="email" name="email" class="emailtext">
<br />
<h1>YOUR MESSAGE</h1>
<textarea placeholder="Don't hold back..." name="message" form="commentform" class="textbox"></textarea>
<br />
<input type="submit" name="submit" value="LET'S TALK" class="submit">
</form>
</div>
PHP:
<?php
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
$formcontent="From: $name \n Message: $message";
$recipient = "someone@mailup.net";
$subject = "Contact Form";
$mailheader = "From: $email \r\n";
mail($recipient, $subject, $formcontent, $mailheader) or die("Error!");
echo "Thank You!";
?>
最佳答案
从消息 textarea
中删除 form="commentform"
属性...
<textarea placeholder="Don't hold back..." name="message" class="textbox"></textarea>
这不是必需的,因为 textarea
是 form
标签的子标签。
在这种情况下,它实际上是在阻止您接收值,因为您的 form
标签没有 id="commentform"
,所以您告诉浏览器您的 textarea
属于一个不存在的表单。
关于php - 基本的 PHP 联系表单接收电子邮件但没有消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40208281/