Php 如何在数组值内调用数组+;弗雷奇
我有一个联系人,他想通过下拉选项向不同的人发送电子邮件 选项值是在带有数组的数组中定义的,我正在努力调用数组值,以便电子邮件可以发送给指定的人 这里定义了数组:Php 如何在数组值内调用数组+;弗雷奇,php,arrays,loops,foreach,Php,Arrays,Loops,Foreach,我有一个联系人,他想通过下拉选项向不同的人发送电子邮件 选项值是在带有数组的数组中定义的,我正在努力调用数组值,以便电子邮件可以发送给指定的人 这里定义了数组: if((isset($_GET['enquiry']) && $_GET['enquiry']=='Locate a dealer/distributor')||(isset($_POST['enquiry']) && $_POST['enquiry']=='Locate a dealer/distrib
if((isset($_GET['enquiry']) && $_GET['enquiry']=='Locate a dealer/distributor')||(isset($_POST['enquiry']) && $_POST['enquiry']=='Locate a dealer/distributor')){
$chk_Locate=TRUE;
}
if(isset($_GET['enquiry']) && $_GET['enquiry'] == 'CC'){
$query_recipients = array(array('Complaint', 'csm@examplecompany.co.za'),
array('Suggestion', 'csm@examplecompany.co.za'),
array('Compliment', 'csm@examplecompany.co.za'));
$enquiry = '<input type="hidden" name="enquiry" id="enquiry" value="CC">';
}
else{
$query_recipients = array(array('Locate a dealer/distributor', 'sales@examplecompany.co.za'),
array('Technical support', 'technical@examplecompany.co.za'),
array('Back orders', 'backorders@examplecompany.co.za'),
array('Product enquiry', 'sales@examplecompany.co.za'),
array('Catalog request', 'sales@examplecompany.co.za'),
array('New customer enquiry', 'sales@examplecompany.co.za'),
array('Existing customers - logon', 'dealers@examplecompany.co.za'),
array('Existing customers - orders', 'weborder@examplecompany.co.za'),
array('Report web problems', 'webmaster@examplecompany.co.za'));
}
调用它们的代码是:
$_POST['recipient_email'] = $contact_email.','.$recpt_email;
if(isset($ref_number)){
$_POST['subject'] = 'Examplecompany Group: '.$ref_number.': '.$_POST['enquiry'];
}else{
$_POST['subject'] = 'Examplecompany Group: '.$_POST['enquiry'];
}
$_POST['sender_email'] = $_POST['email'];
$_POST['cc'] = $_POST['email'].', Examplecompany Group <Examplecompany.orders@gmail.com>';
$_POST['body'] = '<p>Name: ' . $_POST['name'] . '</p>'
. '<p>Surname: ' . $_POST['surname'] . '</p>'
. '<p>Company: ' . $_POST['company'] . '</p>'
. '<p>Examplecompany Account No.: ' . $_POST['accnr'] . '</p>'
. '<p>Account No. verification: ' . $cust_verify . '</p>'
. '<p>Email: ' . $_POST['email'] . '</p>'
. '<p>Tel/cell: ' . $_POST['tel'] . '</p>'
. $_POST['enquiry'] . ': ' . $_POST['message'];
if(Email::Send($_POST, NULL)){
$message = 'Your feedback has been sent'.$cont_ref;
} else {
$message = 'There was an error sending your feedback';
}
}
如果val设置为
$val[1]
,则表单会将电子邮件发送到数组上的最后一个电子邮件地址,但如果设置为$val[0]
,则不会发送电子邮件。请考虑将数组切换为使用键值对而不是嵌套数组。(请参阅文档。)
这使得获得与用户选择相关联的电子邮件地址变得容易
$enquiry = $_GET['enquiry'];
$enquiry_email = (array_key_exists($enquiry, $enquiry_choices) ? $enquiry_choices[$enquiry] : false);
为下拉列表生成HTML也很简单。(请参阅文档。)请注意,上面定义$enquiry
的代码必须位于下面的代码之前
echo <<<HTML
<div>
<label for="enquiry">Enquiry:</label>
</div>
<select name="enquiry" id="enquiry" class="select">
HTML;
foreach($enquiry_choices as $key => $value) {
$selected = ($enquiry == $key ? ' selected="selected"' : '');
echo "<option$selected>$key</option>";
}
echo '</select>';
echo您是否考虑过使用键值对而不是嵌套数组?例如,数组('Complaint'=>'地址_one@example.com“,”建议“=>”地址_two@example.com)
。谢谢你的输入,我会查看并反馈给你。谢谢你的输入,是的,我试过了,页面确实加载了。我不是原始编码者,似乎不知道原始编码者在这里分配了什么:$recpt_email=$val[1];谢谢@user113215我一直在破解我的密码,但运气不好。查询栏是:InquireI将我的评论移到了答案,并提供了一些示例代码。见下文。
$enquiry_choices = array(
'Complaint' => 'csm@examplecompany.co.za',
'Suggestion' => 'csm@examplecompany.co.za',
'Compliment' => 'csm@examplecompany.co.za',
'Locate a dealer/distributor' => 'sales@examplecompany.co.za',
'Technical support' => 'technical@examplecompany.co.za',
'Back orders' => 'backorders@examplecompany.co.za',
'Product enquiry' => 'sales@examplecompany.co.za',
'Catalog request' => 'sales@examplecompany.co.za',
'New customer enquiry' => 'sales@examplecompany.co.za',
'Existing customers - logon' => 'dealers@examplecompany.co.za',
'Existing customers - orders' => 'weborder@examplecompany.co.za',
'Web site problems' => 'webmaster@examplecompany.co.za',
);
// Optional: Sort the choices by name
ksort($enquiry_choices);
$enquiry = $_GET['enquiry'];
$enquiry_email = (array_key_exists($enquiry, $enquiry_choices) ? $enquiry_choices[$enquiry] : false);
echo <<<HTML
<div>
<label for="enquiry">Enquiry:</label>
</div>
<select name="enquiry" id="enquiry" class="select">
HTML;
foreach($enquiry_choices as $key => $value) {
$selected = ($enquiry == $key ? ' selected="selected"' : '');
echo "<option$selected>$key</option>";
}
echo '</select>';