我想根据用户选中的复选框,在我的网站上创建联系表单,以选择邮件的收件人。
用户可以选择至少一个收件人(选中一个复选框),最多十二个收件人(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
)。
我想更改代码,以便:
很抱歉在这个&#34;结论&#34;中再次重复自己。 - 我希望它尽可能清楚。另外,对不起我的琐碎问题...
答案 0 :(得分:1)
如果复选框的值是电子邮件,您只需要使用implode() http://www.php.net/manual/pt_BR/function.implode.php
$emails = implode(",",$_REQUEST['group1']);
$email_to = $emails;