PHP联系表格的问题
问题描述:
我的联系表单有问题,我创建了。当用户点击发送电子邮件按钮时,我会收到带有标题的电子邮件,但我看不到用户的输入。PHP联系表格的问题
所以基本上我可以看到标题($ subject)和预写的文本(“这是一个自动化的消息”),但我无法看到$ email和$ message的内容。什么可能是错的?
<?php
$email = $_POST['email'];
$message = $_POST['message'];
$to = "[email protected]";
$subject = "New Message!"; $body = "This is an automated message. Please do not reply to this email. \n\n $email \n\n $message";
mail($to, $subject, $body); echo "Message Sent.";
?>
<form id="contact-me-form" action="contact.php" name="contact_form "method="post">
<input type="text" name="email" placeholder="Email Address">
<textarea name="message" placeholder="Type Your Message Here"></textarea>
<input id="sendEmail" type="submit" name="submit" value="Send">
</form>
答
你需要检查是否有后的参数,然后发送电子邮件
改变你的代码
<?php
if(isset($_POST['email']) && isset($_POST['message'])){
$email = $_POST['email'];
$message = $_POST['message'];
$to = "[email protected]";
$subject = "New Message!"; $body = "This is an automated message. Please do not reply to this email. \n\n $email \n\n $message";
mail($to, $subject, $body); echo "Message Sent.";
}
?>
<form id="contact-me-form" action="contact.php" name="contact_form "method="post">
<input type="text" name="email" placeholder="Email Address">
<textarea name="message" placeholder="Type Your Message Here"></textarea>
<input id="sendEmail" type="submit" name="submit" value="Send">
</form>
+0
谢谢:)这似乎工作! –
答
尝试这样
<?php
$email = $_POST['email'];
$message = $_POST['message'];
$to = "[email protected]";
$subject = "New Message!"; $body = "This is an automated message. Please do not reply to this email. \n\n $email \n\n $message";
$body= $_POST["message"]
if ($_SERVER["REQUEST_METHOD"] == "POST") {
mail($to, $subject, $body); echo "Message Sent.";
}
?>
<form id="contact-me-form" action="contact.php" name="contact_form "method="post">
<input type="text" name="email" placeholder="Email Address">
<textarea name="message" placeholder="Type Your Message Here"></textarea>
<input id="sendEmail" type="submit" name="submit" value="Send">
</form>
这将发送一封电子邮件当用户以
的形式提交信息时,发送到 [email protected]
每次用户打开页面时都会收到电子邮件。 –
@u_mulder权利,这就是为什么你看不到用户在你的消息正文中输入的文本 –
包装你的php代码在if(isset($ _ POST ['submit']){// your code}; – Chris