Отправить электронную почту только при выбранной опции радио - PullRequest
0 голосов
/ 29 февраля 2012

Я изменяю регистрационную форму, чтобы включить две радиокнопки для типа учетной записи, на которую претендует клиент.Итак, у меня есть две новые кнопки: Личная учетная запись [] Корпоративная учетная запись [].

Если клиент выбирает личную учетную запись, значение «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('/^[^\@]+@.*\.[a-z]{2,6}$/i', $email)) {
            $mail->setTo($email);
            $mail->send();
        }
    }
}

Приведенный выше код после "// отправить главному администратору, если включена электронная почта для новой учетной записи", просто отправляет простое электронное письмо администратору, в котором сообщается, что кто-то зарегистрировалсяЯ хочу сохранить это, но я хотел бы отправить дополнительное электронное письмо, если кто-то подает заявку на корпоративный аккаунт.Я думаю, мне просто нужно использовать оператор if, чтобы проверить, равен ли account_type = 0, но я не эксперт, и я не знаю, как интегрировать это в существующий код.Надеюсь, я хорошо себя объяснил.Кстати, весь этот код взят из Open Cart, системы электронной коммерции с открытым исходным кодом.

1 Ответ

1 голос
/ 29 февраля 2012

вы можете использовать, если условие как

if(isset($_POST['ur_radio_ele_name']) && $_POST['ur_radio_ele_name']!=''){
  // your code to send mail
}

если установлено $_POST['ur_radio_ele_name'] и не равно нулю, то только оно будет отправлять почту, иначе не будет.

...