Frage

Ich ändere ein Registrierungsformular so, dass es zwei Optionsfelder für den Kontotyp enthält, den der Kunde beantragt.Ich habe also zwei neue Schaltflächen:Persönliches Konto [] Firmenkonto [].

Wenn der Kunde ein Privatkonto auswählt, wird der Wert „1“ in einer neuen Spalte in meiner Kundentabelle (account_type) gespeichert, und wenn ein Firmenkonto ausgewählt wird, wird der Wert „0“ gespeichert.Was ich nun tun möchte, ist, den folgenden Code zu ändern, der jedes Mal, wenn sich ein neuer Kunde registriert, eine E-Mail an den Administrator sendet, sodass eine zusätzliche E-Mail gesendet wird, wenn ein Kunde ein Firmenkonto beantragt hat.

$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();
        }
    }
}

Der obige Code nach „//sende an den Hauptadministrator, wenn die E-Mail-Adresse für ein neues Konto aktiviert ist“ sendet lediglich eine einfache E-Mail an den Administrator, die besagt, dass sich jemand neu registriert hat.Ich möchte das behalten, aber ich möchte die zusätzliche E-Mail senden, wenn jemand ein Firmenkonto beantragt.Ich denke, ich muss nur eine if-Anweisung verwenden, um zu überprüfen, ob account_type=0 ist, aber ich bin kein Experte und weiß nicht, wie ich das in den vorhandenen Code integrieren soll.Ich hoffe, ich habe mich gut erklärt.Übrigens stammt der gesamte Code von Open Cart, einem Open-Source-E-Commerce-System.

War es hilfreich?

Lösung

Sie können verwenden, wenn die Bedingung wie folgt

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

Wenn $_POST['ur_radio_ele_name'] gesetzt und nicht null ist, wird nur dann eine E-Mail gesendet, andernfalls nicht.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top