仅当收音机选项被选中时发送电子邮件
问题描述:
我正在修改注册表单以包含客户正在申请的帐户类型的两个单选按钮。 所以我有两个新的按钮:个人帐户[]公司帐户[]。仅当收音机选项被选中时发送电子邮件
如果客户选择个人帐户,则值“1”被保存到我的客户表(account_type)中的新列中,如果选择公司帐户,则保存值“0”。 现在,我想要做的是修改下面的代码,每次新客户注册时都会向管理员发送电子邮件,以便在客户申请公司帐户时发送额外的电子邮件。
$mail = new Mail();
$mail->protocol = $this->config->get('config_mail_protocol');
$mail->parameter = $this->config->get('config_mail_parameter');
$mail->hostname = $this->config->get('config_smtp_host');
$mail->username = $this->config->get('config_smtp_username');
$mail->password = $this->config->get('config_smtp_password');
$mail->port = $this->config->get('config_smtp_port');
$mail->timeout = $this->config->get('config_smtp_timeout');
$mail->setTo($data['email']);
$mail->setFrom($this->config->get('config_email'));
$mail->setSender($this->config->get('config_name'));
$mail->setSubject($subject);
$mail->setText($message);
$mail->send();
**// Send to main admin email if new account email is enabled**
if ($this->config->get('config_account_mail')) {
$mail->setTo($this->config->get('config_email'));
$mail->send();
// Send to additional alert emails if new account email is enabled
$emails = explode(',', $this->config->get('config_alert_emails'));
foreach ($emails as $email) {
if (strlen($email) > 0 && preg_match('/^[^\@][email protected]*\.[a-z]{2,6}$/i', $email)) {
$mail->setTo($email);
$mail->send();
}
}
}
的代码后,上面的“//如果启用新帐户的电子邮件发送给主管理”只是发送一个简单的电子邮件管理员说,有人已新登记。我想保留这一点,但如果有人申请公司帐户,我想发送额外的电子邮件。我想我只需要使用if语句来检查account_type = 0,但我不是专家,我不知道如何将它集成到现有代码中。我希望我解释得很好。顺便说一句,所有这些代码都来自Open Cart,开源电子商务系统。
答
你可以使用,如果条件一样
if(isset($_POST['ur_radio_ele_name']) && $_POST['ur_radio_ele_name']!=''){
// your code to send mail
}
如果$_POST['ur_radio_ele_name']
设置,而不是空那么只有它会发送邮件,否则它不会。
嗨,谢谢你的帮助。以为我没有能够成功地集成这段代码,我尝试添加下面的代码,但它没有奏效。 'code' \t //开始企业帐户电子邮件到管理mod \t \t if(isset($ _ POST ['account_type)'])&& $ _POST ['account_type'''!=''){ $ mail-> setTo ($这个 - > config->获取( 'config_email')); $ subject =($ this-> request-> post ['account_type'])? '新的个人账户':'新的公司账户'。 ''。 '注册:'。$ this-> request-> post ['firstname']。 ''。 $这 - >请求 - >发布[ '姓氏']; $ mail-> send();代码' – codekmarv 2012-03-04 04:42:22
@codekmarv,我已经纠正了上面的代码,它现在应该可以工作。当表单具有无线电元素时,只有在选择了无线电元素时,表单才会发布带有与无线电元素名称相同的键的$ post数组,否则$ _POST键未设置。检查您是否已为该无线电元件指定名称,并在后期检查相同的$ POST密钥。 – 2012-03-05 07:06:50
感谢您的帮助,将尝试此操作并稍后再报告 – codekmarv 2012-03-12 03:44:21