我想制作一份联系表格,我的问题是:
- 通过选项选择联系人类型(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" />
<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中发送,这样就可以安全地防止爬虫