2012-02-29 2 views
0

고객이 신청하는 계정 유형에 대한 두 개의 라디오 버튼을 포함하도록 등록 양식을 수정합니다. 개인 계정 [] 법인 계정 [].전자 메일 보내기 라디오 옵션이 선택된 경우에만

고객이 개인 계정을 선택하면 고객 테이블 (account_type)의 새 열에 값 "1"이 저장되고 법인 계정이 선택되면 "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에서 가져온 것입니다. $_POST['ur_radio_ele_name']이 설정 한 후에만 메일을 보낼 것입니다 null가 아닌 경우

답변

1

당신은 그렇지 못해,

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

같은 경우 조건을 사용할 수 있습니다.

+0

안녕하세요. 도움을 주셔서 감사합니다. 이 코드를 성공적으로 통합 할 수 없었다고 생각하고 다음 코드를 추가하려고했지만 작동하지 않았습니다. 'code' \t // 관리자 계정으로 기업 계정 이메일 시작 \t \t if (isset ($ _ POST [ 'account_type)']) && $ _POST [ 'account_type]]! =' '{ $ mail-> setTo ($ this-> config-> get ('config_email')); $ 제목 = ($ this-> request-> post [ 'account_type'])? '새로운 개인 계정': '새로운 법인 계정'. ''. '등록 :'. $ this-> request-> post [ 'firstname']. ''. $ this-> request-> post [ 'lastname']; $ mail-> send(); }'code' – codekmarv

+1

@codekmarv, 위 코드를 수정 했으므로 이제 작동합니다. 양식에 라디오 요소가있을 때 양식이 게시 될 때 radio 요소 이름과 같은 이름의 $ post 배열이 라디오 요소가 선택 될 때만 설정됩니다. 그렇지 않으면 $ _POST 키가 설정되지 않습니다. 라디오 요소에 이름을 지정했는지 확인하고 POST에서 동일한 $ POST 키를 확인하고 있는지 확인하십시오. –

+0

도움을 주셔서 감사합니다. 시도하고 나중에보고 할 것입니다. – codekmarv