2013-02-22 131 views
0

我想在注册确认后向用户发送不同的电子邮件。一个用于管理员用户,另一个用于基本用户。我写了基于查询数据的if语句,但是它将两个电子邮件发送给两种类型的用户。任何想法有什么不对?PHP梅勒如果其他

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条件。但不知道。

提示:为什么不让你的共同代码脱离条件&只是根据条件改变邮件正文内容。这条线

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

使用用于提取后的结果

+0

如果我改变,那么我会在这行得到一个错误if(!$ mailer-> Send())。说没有指定send()函数。 – user1949586 2013-02-22 05:25:50

+0

如果在上面的if语句中有条件,就在'$ this-> sitename;'&'之后'}之后。 – Rikesh 2013-02-22 05:26:55

2

$result = mysql_fetch_array($result);