联系表格(具体选择)和电子邮件


contact form (specifice slection) and email

我想制作一份联系表格,我的问题是:

  • 通过选项选择联系人类型(peter或Michael),如果我想联系例如peter并按下提交按钮,表单将转到他的电子邮件示例peter@gmail.com等等……如何解决内部问题(选择选项&&contact_procees代码)请告诉我

//// contact.php /////
 <form class="contact-form" method="post"  name="contact"  id="f"> 
     
    <table width="85%" border="0" cellspacing="0" cellpadding="0">
       <td>Contact Person  :</td>
     **strong text**  <td><select id="agents">
      <option value="1">Peter</option>
      <option value="2">Michael</option>
    </select>
        </td>
     </tr>
     
     
     <tr>
       <td valign="top">Text :</td>
       <td><textarea style="background-color:#f5f5f5; color:#000" name="msg" type="text" class="contact-textarea"></textarea></td>
     </tr>
     
    </table>
<br />
<br />
<table width="60%" border="0" cellspacing="0" cellpadding="0">
  <tr>
  <td width="150px"></td>
    <td align="left">
    
    <input type="reset" class="submit" value="Reset" />
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    <input type="submit" class="submit" value="Send"  onclick="sendForm(); return false;" id="btn" />
    
    </td>
  </tr>
</table>
 </form>
/// JAVA SCRIPT CODE SEND FOR
<script type="text/javascript">
function sendForm() {
  document.getElementById('btn').value=".....";
    
  var oData = new FormData(document.forms.namedItem("contact"));
  var oReq = new XMLHttpRequest();
  oReq.open("POST", "contact_proccess.php", true);
  oReq.onload = function(oEvent) {
    if (oReq.status == 200) {	
	
		if(oReq.responseText=="1")
		 alert("Thankyou, the message is sent .");
		else
		 alert("There was error in proccessing your request.Please try again later");
    } else {
         alert("There was error in proccessing your request.Please try again later");
    }
	
	document.getElementById("f").reset();
	document.getElementById('btn').value="Send";
  };
  oReq.send(oData);
}
</script> 
//// contact_process.php
<?php
error_reporting(0);
echo "1";
function error(){
	exit("0");	
}
if(!isset($_POST['name']) or !isset($_POST['work']) or !isset($_POST['subject']) or !isset($_POST['msg'])){
  error();	
}
$name=$_POST['name'];
$work=$_POST['work'];
$subject=$_POST['subject'];
$msg=$_POST['msg'];
if($name=="" or $work==""  or $subject=="" or $msg==""){
error();	
}
$message=
<strong>Name</strong> : '.$_POST['name'].'<br>
<strong>Work</strong> : '.$_POST['work'].'<br>
<strong>contact</strong> : '.$_POST['subject'].'<br>
<strong>Text</strong> : '.$_POST['msg'].'<br>
</div>';
$headers = "MIME-Version: 1.0" . "'r'n";
$headers .= "Content-type:text/html;charset=UTF-8" . "'r'n";
// More headers
$headers .= 'From:Mypage Website <webmaster@mypage.com>' . "'r'n";
$subject="Contact";
$to="peter@gamail.com"; /// what should i do for others
mail($to,$subject,$message,$headers);
?>

您可以将您的电子邮件id放入选择值中,如

    <select id="agents" name="agents">
      <option value="peter@gmail.com">Peter</option>
      <option value="michael@gmail.com">Michael</option>
    </select>

在类似的php中获取

    $to = $$_POST['agents'];

然后像发送一样发送电子邮件

   mail($to,$subject,$message,$headers);

我希望能回答这个问题。

我会将表单POST到一个名为"sendmail.php"的页面,然后在那里获取所选的值(peter/micheal)
如果你愿意,你可以把它们命名为1和2。

在javascript或html代码中使用它的好处是邮件显而易见
有机器人在爬行寻找邮件,用html打印的邮件很可能是受害者。

一旦发送完成,你可以回写谢谢,它起作用了,或者没有起作用。

但我的建议是将值POST并在php中发送,这样就可以安全地防止爬虫