好的,我的联系表格完全正常,处理正确。我有两个问题......
在联系表单页面上,我希望添加一个复选框供用户勾选,以便将电子邮件的副本发送给他们。
在流程表单部分我想重定向到错误页面,如果一切都发生了可怕的错误。
目前在我的表单提交中,我已采取行动,转到thankyou.php
我已经在thankyou.php页面中添加了表单流程,但如果需要,可以单独将其拉出来。
.......................................
我的表单流程如下(非常非常简单)
<?php
$youremail = "someonesemail@email.com";
$yourname = $_POST['yourname'];
$email = $_POST['email'];
$location = $_POST['location'];
$textarea = $_POST['textarea'];
$headers = "From: $email";
$content = "Hello there! This is a message from your contact form.\r\n
\r\n
\r\n
Name: $yourname\r\n
\r\n
E-mail: $email\r\n
\r\n
Location: $location\r\n
\r\n
Message: $textarea\r\n\r\n";
$send = mail($youremail, 'Message from your conatct form', $content, $headers);
if($send)
{
echo "ok";
}
我不熟悉php所以任何帮助赞赏
答案 0 :(得分:1)
如果要发送邮件副本,则需要为邮件添加适当的标题,例如:
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= 'To: Somename <some_email@example.com>' . "\r\n";
$headers .= 'Cc: '.$yourCopyMail . "\r\n"; // this is for copy
//then
if(mail(....)) {
echo "sent";
}
else {
header("Location: url_to_your_error_page");
exit;
}
答案 1 :(得分:1)
关于你的第一个问题:
This page提供了一个快速教程,介绍如何向表单添加复选框并在下一页上接收值。当您处理表单提交时,只需查看变量$_POST["checkboxname"]
,看看它是否设置为您给复选框的值(或者它是否完全设置了)。如果是,则只需重复命令即可发送电子邮件,并以用户的电子邮件作为收件人。
在您的情况下,它看起来像$send = mail($email, 'Message from your conatct form', $content, $headers);
我不知道如何回答你的第二个问题,因为“如果一切都发生了可怕的错误”并不是一个特别有意义的条件。
答案 2 :(得分:1)
<?php
$youremail = "someonesemail@email.com";
$yourname = $_POST['yourname'];
$email = $_POST['email'];
$location = $_POST['location'];
$textarea = $_POST['textarea'];
$ReceiveMail= $_POST['txtReceive'];
if($ReceiveMail == "yes") {
$content = "";
$headers = "From: $email";
@mail($email, 'Mail Notification', $content, $headers);
}
$headers = "From: $email";
$content = "Hello there! This is a message from your contact form.\r\n
\r\n
\r\n
Name: $yourname\r\n
\r\n
E-mail: $email\r\n
\r\n
Location: $location\r\n
\r\n
Message: $textarea\r\n\r\n";
$send = mail($youremail, 'Message from your conatct form', $content, $headers);
if($send) {
header("location:thankyou.php");
exit;
}
else {
header("location:error.php");
exit;
}
?>
我在表单中添加了一个复选框,并检查服务器端的值。 试试这个。希望它会有所帮助