2013-02-22 3 views
0

Я пытаюсь отправить другое электронное письмо пользователям после подтверждения регистрации. Один будет для пользователей admin, а другой текст будет для основных пользователей. Я написал инструкцию if else, основанную на запрошенных данных, но отправляя оба письма обоим типам пользователей. Любая идея, что не так?PHP Mailer if else

function SendBusWelcomeEmail(&$user_rec) 
    { 
$result = mysql_query("SELECT business FROM users") 
       or die(mysql_error()); 


if($result='a') { 
     $mailer = new PHPMailer(); 

     $mailer->CharSet = 'utf-8'; 

     $mailer->AddAddress($user_rec['email'],$user_rec['name']); 

     $mailer->Subject = "Welcome to ".$this->sitename; 

     $mailer->From = $this->GetFromAddress();   

     $mailer->Body ="Thank You ".$user_rec['name']." for joining xxx, \r\n\r\n". 
     "We are a brand new business with big ambitions. Our mission is to help the development of your skills \r\n". 

     "\r\n". 
     "Regards,\r\n". 
     "Webmaster\r\n". 
     $this->sitename; 
} 
     if(!$mailer->Send()) 
     { 
      $this->HandleError("Failed sending user welcome email."); 
      return false; 
     } 
     else{ 
     $mailer = new PHPMailer(); 

     $mailer->CharSet = 'utf-8'; 

     $mailer->AddAddress($user_rec['email'],$user_rec['name']); 

     $mailer->Subject = "Welcome to ".$this->sitename; 

     $mailer->From = $this->GetFromAddress();   

     $mailer->Body ="Hello ".$user_rec['name']."\r\n\r\n". 
     "Welcome! Your registration with ".$this->sitename." is completed.\r\n". 
     "\r\n". 
     "Regards,\r\n". 
     "Webmaster\r\n". 
     $this->sitename; 

     if(!$mailer->Send()) 
     { 
      $this->HandleError("Failed sending user welcome email."); 
      return false; 
     } 
} 
    } 

ответ

3

В вашем Condtion должно быть ==, а не =.

Меняет

if($result = 'a') 

к

if($result == 'a') 

Примечания: Вы не выборки записи. И похоже, что ваш запрос должен содержать условие where, чтобы получить бизнес-тип пользователя. Не уверен, хотя.

Совет: Почему бы вам не получить свой общий код из обоих условий &, просто измените содержание тела почты в зависимости от состояния.

+0

Если я изменил это, я тогда получаю сообщение об ошибке в этой строке, если (! $ Mailer-> Send()). говорит, что функция send() не указана. – user1949586

+0

Возьмите это условие в приведенном выше выражении if. Только после '$ this-> sitename;' & before '}'. – Rikesh

2

после этой линии

$result = mysql_query("SELECT business FROM users") or die(mysql_error()); 

использования для извлечения результата.

$result = mysql_fetch_array($result);