Php 将表单信息发送到电子邮件
我有一个表单可以将信息发送到php文档。测试时,我提交并显示数组,但不会转到电子邮件地址Php 将表单信息发送到电子邮件,php,forms,email,submit,Php,Forms,Email,Submit,我有一个表单可以将信息发送到php文档。测试时,我提交并显示数组,但不会转到电子邮件地址 <?php require_once("/includes/fbcheader.php"); ?> <div class="comments"> <h3> We Welcome All Comments </h3> <form action="/php/contact-send.php" method="post"
<?php require_once("/includes/fbcheader.php");
?>
<div class="comments">
<h3> We Welcome All Comments </h3>
<form action="/php/contact-send.php" method="post"
id="contact-form" class="form">
<p class="input-block">
<label for="form-name" >Name</label>
<input type="text" value name="name" id="form-name"
autofocus placeholder="Please enter name" required>
</p>
<p class="input-block">
<label for="form-email" >Email</label>
<input type="email" value name="email" id="form-email"
required placeholder="Please enter E-Address">
<input type="hidden" value name="age" id="age">
</p>
<p class="input-block">
<label for="form-subject" >Subject</label>
<input type="text" value name="subject" id="form-subject"
required placeholder="Please enter subject">
</p>
<p class="textarea-block">
<label for="form-message">Comment</label>
<textarea name="message" id="form-message"
cols="70" rows="10"></textarea>
</p>
<div class="clear"></div>
<input type="hidden" name="firstname" id="firstname">
<input type="submit" value="Send" id="form-submit">
<p class="hide" id="response"></p>
<div class="hide">
<label for="spam-check">Do not fill out this field</label>
<input name="spam-check" type="text" value id="spam-check">
</div>
</form>
</div>
</body>
</html>
我们欢迎所有评论
名称
电子邮件
主题
评论
不要填写此字段
这是发送php执行代码的代码
<html>
<head>
<title>Contact-Send</title>
</head>
<body>
<?php
if(null!==($_POST["name"])) {
$name = $_POST["name"];
/* echo "Please enter 'Name'<br />"; */
} else {
$name = "";
}
if(null!==($email = $_POST["email"])) {
$email = $_POST["email"];
/* echo "Please enter 'E_Mail'<br />"; */
} else {
$email = "";
}
if(null!==($email = $_POST["subject"])) {
$form_email = $_POST["subject"];
/* echo "Please enter 'Subject'<br />"; */
} else {
$subject = "";
}
if(null!==($message = $_POST["message"])) {
$message = $_POST["message"];
/* echo "Please enter your message<br />"; */
} else {
$message = "";
}
/*echo "{$name}, {$email}, {$message}";*/
$email_from = '$Email';
$email_subject = "New Form submission";
$email_body = "You have received a new message from the user $name.\n".
"Here is the message:\n $message".
$to = "me@myaddress.com";
?>
<br>
<?php
$headers = "From: $email_from \r\n";
$headers .= "Reply-To: $form_email \r\n";
mail($to,$email_subject,$email_body,$headers);
header("thank-you.html");
?>
</body>
</html>
联系发送
提交时,我只需获取显示输入字段内容的数组快速查看您的PHP代码,我会看到以下内容: 这:
if(null!==($email=$\u POST[“email”])
将失败,因为您正在运行一个无任何内容的检查。它应该是:if(null!==($\u POST[“email”])
这里有一个未定义的变量:$email\u from='$email'代码>这将只输出“$Email”。它应该是$email\u from=$email代码>(根据您的代码)。然而,你只是在这里重新分配变量,你根本不需要这样做
您的$email\u body
和$to
地址
您可以使用标题(“thank-You.html”)代码>将失败,因为根据您的代码,输出已在此处开始您的意思是“我只需获取显示输入字段内容的数组”?请检查mail()
函数的返回值,您的From
标题将导致消息失败,您需要在此处使用双引号。实际上根本没有…值名称
,这将导致一些意外的结果。@johncode-当我按submit时,下一页显示输入名称和其中的内容。例如数组([name]=>Jonathan;[email]=>JonDoe@abcsite.com;[年龄]=>;[主题]=>test;…那么你的
没有价值,也没有参考,所以我不知道你为什么要使用它,对于
,还有我已经说过的value name
。谢谢@M.Doye,谢谢你花时间和考虑。在清理了一些明显的错误并采纳了你上面的建议之后,我已经把代码准备好了rk.还有一些关于输出格式的问题:即设置字体标签()。我知道我将不得不退出php,但只是想知道语法可能是什么。再次感谢。@JZeig1没问题,很高兴能提供帮助。您可以找到一个非常好的示例来说明如何进行此操作。这是一个非常好的示例,非常简单,您不必对代码进行太多更改:-)
<?php
if(null!==($_POST["name"])) {
$name = $_POST["name"];
/* echo "Please enter 'Name'<br />"; */
} else {
$name = "";
}
if(null!==($_POST["email"])) {
$email = $_POST["email"];
/* echo "Please enter 'E_Mail'<br />"; */
} else {
$email = "";
}
if(null!==($_POST["subject"])) {
$form_email = $_POST["subject"];
/* echo "Please enter 'Subject'<br />"; */
} else {
$subject = "";
}
if(null!==($_POST["message"])) {
$message = $_POST["message"];
/* echo "Please enter your message<br />"; */
} else {
$message = "";
}
/*echo "{$name}, {$email}, {$message}";*/
$email_subject = "New Form submission";
$email_body = "You have received a new message from the user $name.\n".
"Here is the message:\n $message";
$to = "me@myaddress.com";
$headers = "From: $email \r\n";
$headers .= "Reply-To: $email \r\n";
mail($to,$email_subject,$email_body,$headers);
header("Location: thank-you.html");
?>