2012-01-13 104 views
0

好的我有我们的联系表完全正常工作,并正确处理。我有两个问题...联系表格php帮助

  1. 的联系表格页面上,我想补充一个复选框,供用户勾选以藏汉发送电子邮件的副本给他们。

  2. 关于进程形式的一部分我想重定向到错误页面,如果一切都可怕的错误。

目前我的形式提交,我有行动要thankyou.php

我的形式处理我有thankyou.php页面内添加,但如果需要的话可以单独拉出来。

.......................................

我的表单处理低于(很简单)

<?php 

$youremail = "[email protected]"; 

$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所以任何帮助赞赏

回答

1
<?php 
$youremail = "[email protected]"; 
$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; 
    } 
?> 

我在窗体中添加了一个复选框,并检查服务器端的值。 试试这个。希望它会帮助

+0

谢谢穆图:)会给它一个去 – 422 2012-01-13 05:07:23

1

如果你想发送邮件的副本,那么您需要添加适当的标题的邮件,如:

 

$headers = 'MIME-Version: 1.0' . "\r\n"; 
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; 
$headers .= 'To: Somename <[email protected]>' . "\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; 
} 
 
+0

谢谢Sudhir,我在看别人转到,......无法弄清楚。将给那一个旋转谢谢你 – 422 2012-01-13 05:08:08

1

关于你的第一个问题:

This page给出了一个关于如何添加复选框到你的表单并接收下一页的值的快速教程。在处理表单提交时,只需查看变量$_POST["checkboxname"]并查看它是否设置为您赋予该复选框的值(或者它是否设置为真)。如果是,则只需重复该命令发送电子邮件,并将用户的电子邮件作为收件人。

在你的情况下,它看起来像这将是$send = mail($email, 'Message from your conatct form', $content, $headers);

我不知道该怎么回答你的第二个问题,因为“如果一切顺利可怕的错误”是不是一个特别有意义的条件。