关于我的朋友,我问这个问题,所以我目前没有代码示例在这里发布。希望我足够清楚,有人可以提供帮助。
所以他有一个简单的联系表格,除了它有多个复选框,用户可以选择将他们的请求发送给多个收件人......就像这样......
x我想了解飞行学校的情况 x我有兴趣成为一名教师 x我希望有人就我的学位与我联系
名称
电子邮件
评论
因此,根据选中的复选框,它应该将该收件人添加到电子邮件功能中,以便他们收到用户的评论和兴趣。
表单由jquery验证并使用$ .ajax函数将Name,Email和Comments字段POST到process.php ...我们正在验证至少选中了一个复选框,但是,我们我们无法弄清楚如何将其布尔值传递给process.php,然后将相关的电子邮件地址添加到mail()函数中。
我确实意识到这是半模糊的而没有发布我们的代码,但我现在无法访问它...而且我一直在搜索谷歌大约30分钟,试图找到可以使用的东西。任何帮助,将不胜感激。感谢。
答案 0 :(得分:0)
您只需检查您获得的值是否为真:
基本理念:
if(checkbox-1-ischecked)
//send email to first recipent
end if
if(checkbox-2-ischecked)
//send email to 2nd recipent
end if
if(checkbox-3-ischecked)
//send email to 3rd recipent
end if
if(checkbox-4-ischecked)
//send email to 4th recipent
end if
等
答案 1 :(得分:0)
将元素命名为如下数组:
<input type="checkbox" name="mybox[]" value="foo@example.com">Foo</input>
<input type="checkbox" name="mybox[]" value="bar@example.com">Bar</input>
<input type="checkbox" name="mybox[]" value="hello@example.com">Hello</input>
<input type="checkbox" name="mybox[]" value="world@example.com">World</input>
将表单发布到PHP后,$_POST['mybox']
将是一个数组,其中包含已选中复选框的值。
在你的PHP中
if(isset($_POST['my_box']))
{
$subject = "sub";
$body = "body";
if (is_array($_POST['mybox']))
{
//multiple items were selected.
$to = implode(',',$_POST['my_box']);
mail($to,$subject,$body);
}
else //only one item was selected
{
echo $_POST['my_box'];
$to = $_POST['my_box'];
mail($to,$subject,$body);
}
}
else
//none were selected
答案 2 :(得分:0)
这似乎可以回答您的复选框查询。 (http://stackoverflow.com/questions/908708/how-to-pass-multiple-checkboxes-using-jquery-ajax-post)
在基本术语中,它会将一个数组发回到php脚本,然后你可以解析它,根据勾选的内容/传回的vars,你可以将更多的电子邮件地址附加到邮件功能的'to'部分。 / p>
为了更简单的实现,您可以将三个复选框分别保留在数组中,并将ajax单独发回。 HTML
<input type='checkbox' name='flight' value='1' id='flight' />
<input type='checkbox' name='teacher' value='1' id='teacher' />
然后只需在服务器上通过PHP
$to="";
if($_POST['teacher'] == 1) {$to = $to."joe@email.com,"};//append email
if($_POST['flight'] == 1) {$to = $to."bob@email.com,"};//append email
$to = rtrim($to, ","); //remove trailing comma
注意与所有网络邮件脚本一样,请确保您清理所有变种以防止滥用垃圾邮件!
答案 3 :(得分:0)
您可以简单地为所有复选框指定相同的名称,这实际上会产生一个复选框数组。
<form name="someform" onsubmit="return validate(this)" action="process.php" method="post">
<input type="checkbox" name="names[]" value="Saji">Saji
<input type="checkbox" name="names[]" value="Muhaimin">Muhaimin
<input type="checkbox" name="names[]" value='Muhsin'>Muhsin
<input type="submit" value="Submit">
<input type="reset" value="Reset">
</form>
在process.php中,您可以 -
$name_val=$_POST['names'];
foreach($name_val as $values){
//Here $values will contain only the values of the checkboxes you had selected.
echo $values."<br />";
}