它发送电子邮件,但没有正文,主题或任何内容。这就是我得到的:
HTML:
<div class="contact-form">
<form action="mail.php" method="post">
<label for="name">Name:<input type="text" id="name" class="text" /></label>
<label for="email">Email:<input type="text" id="email" class="text" /></label>
<label for="message">Message:<textarea id="message"></textarea></label>
<input type="submit" class="submit" value="Send Message" />
</form>
</div>
PHP(mail.php):
<?php
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
$recipient = "me@christianselig.com";
$subject = "Message From Website";
$headers = "From: " . $email;
mail($recipient, $subject, $message, $headers);
echo "Thanks! The message was sent. :)";
?>
有什么见解?非常感谢。
答案 0 :(得分:7)
答案 1 :(得分:1)
您需要在HTML输入字段中使用name属性。这就是表单用于在$_POST
数组中创建索引的内容。更正后的HTML
<div class="contact-form">
<form action="mail.php" method="post">
<label for="name">Name:<input type="text" id="name" name="name" class="text" /></label>
<label for="email">Email:<input type="text" id="email" name="email" class="text" /></label>
<label for="message">Message:<textarea id="message" name="message"></textarea></label>
<input type="submit" class="submit" value="Send Message" />
</form>
</div>
答案 2 :(得分:0)
进入我的服务器工作,你确定在$ _POST中设置了吗? 如果您无法发送电子邮件修改,您可以尝试设置SMTP以发送您的电子邮件 尝试使用像phpmailer这样的东西来发送电子邮件。
在您必须放置的每个字段的表单中: - id =“example_id” - name =“example_name”
答案 3 :(得分:0)
您需要为每个html元素指定name属性。使用下面的HTML代码:
<div class="contact-form">
<form action="mail.php" method="post">
<label for="name">Name:<input type="text" id="name" name="name" class="text" /></label>
<label for="email">Email:<input type="text" id="email" name="email" class="text" /></label>
<label for="message">Message:<textarea id="message" name="message"></textarea></label>
<input type="submit" class="submit" value="Send Message" />
</form>
</div>