【发布时间】:2014-03-14 01:29:05
【问题描述】:
我想在我的网站上制作联系表单,以根据用户选中的复选框来选择邮件的收件人。
用户可以选择至少一个收件人(选中 1 个复选框),最多十二个收件人(12 人可以提出问题 - 用户可以选择要联系的人)。
由于我对php不是很熟练,我将非常感谢您的帮助。
这里是html:
<input class="validate[minCheckbox[1]] checkbox" type="checkbox" name="group1" value="1"></div>
<input class="validate[minCheckbox[1]] checkbox" type="checkbox" name="group1" value="2"></div>
<input class="validate[minCheckbox[1]] checkbox" type="checkbox" name="group1" value="3"></div>
<input class="validate[minCheckbox[1]] checkbox" type="checkbox" name="group1" value="4"></div>
<input class="validate[minCheckbox[1]] checkbox" type="checkbox" name="group1" value="5"></div>
<input class="validate[minCheckbox[1]] checkbox" type="checkbox" name="group1" value="6"></div>
<input class="validate[minCheckbox[1]] checkbox" type="checkbox" name="group1" value="7"></div>
<input class="validate[minCheckbox[1]] checkbox" type="checkbox" name="group1" value="8"></div>
<input class="validate[minCheckbox[1]] checkbox" type="checkbox" name="group1" value="9"></div>
<input class="validate[minCheckbox[1]] checkbox" type="checkbox" name="group1" value="10"></div>
<input class="validate[minCheckbox[1]] checkbox" type="checkbox" name="group1" value="11"></div>
<input class="validate[minCheckbox[1]] checkbox" type="checkbox" name="group1" value="12"></div>
这里是php代码:
<?php
if(isset($_POST['email'])) {
// CHANGE THE TWO LINES BELOW
$email_to = "me@mydomain.com";
$email_subject = "";
function died($error) {
// your error code can go here
echo "";
echo "";
echo $error."<br /><br />";
echo "";
die();
}
// validation expected data exists
if(!isset($_POST['name']) ||
!isset($_POST['email']) ||
!isset($_POST['telephone']) ||
!isset($_POST['comments'])) {
died(');
}
$name = $_POST['name']; // required
$email_from = $_POST['email']; // required
$telephone = $_POST['telephone']; // not required
$comments = $_POST['comments']; // required
$error_message = "";
$email_exp = '/^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/';
if(!preg_match($email_exp,$email_from)) {
$error_message .= '';
}
$string_exp = "/^[A-Za-z .'-]+$/";
if(!preg_match($string_exp,$name)) {
$error_message .= '';
}
if(strlen($comments) < 2) {
$error_message .= '';
}
if(strlen($error_message) > 0) {
died($error_message);
}
function clean_string($string) {
$bad = array("content-type","bcc:","to:","cc:","href");
return str_replace($bad,"",$string);
}
$email_message .='
//html structure of email goes here
$headers = 'From: '.$email_from."\r\n".
$headers = "MIME-Version: 1.0\r\n";
$headers = "Content-type: text/html; charset=utf-8\r\n";
'Reply-To: '.$email_from."\r\n" .
'X-Mailer: PHP/' . phpversion();
@mail($email_to, $email_subject, $email_message, $headers);
?>
<!-- success html here -->
<?php
}
die();
?>
当前状态下的代码运行良好(我删除了错误消息和电子邮件的 html 结构,因为它无关紧要 - 只会占用空间),但收件人固定(虽然它们在此处的代码中提供 $email_to) .
我想更改代码以便:
- 用户选择他的消息的收件人,有12个选项,min=1,max=12。
- 将通过选中复选框进行选择
- 每个复选框都分配给特定的电子邮件
很抱歉在这个“结论”中再次重复自己 - 我希望它尽可能清楚。另外,对不起我的琐碎问题......
【问题讨论】: