2012-01-12 7 views
0

次のコードを使用して電子メールを送信しています。電子メールを送信すると、燃料タイプ、何らかの理由で$ nameの値を2度引っ張っているようです。ファーストネームフィールドが電子メールに2回挿入されています

例えば、私はこのような電子メールが送信され得る:

「ここで親愛なるトム・ソーヤートム・ソーヤーは、あなたのDERVの価格は以下のとおりです。」ここ

「親愛なるウィル・シンプソンウィル・シンプソンは、あなたのDERV &ガスです「オイル価格」

$ templatename =このテンプレートには、顧客に発送するメッセージと{name}という名前の中括弧と{燃料}。

{name}は$ nameから引き出され、人名で置き換えられます。{fuel}はテンプレートの名前を使用します。これは使用される燃料の名前です。これはstr_replace関数で行います。

結果はDear、PERSONS NAMEでなければなりません。あなたの燃料タイプの価格はここにありますが、実際には何らかの理由で2回繰り返した人名がありますか?

    if(!empty($row->businessname)) 
        { 
         $name .= ' '.$row->leadname; 
        } 

あなたが意味いけない:

   <?php 
        $formid = mysql_real_escape_string($_GET[token]); 
           $templatequery = mysql_query("SELECT * FROM hqfjt_chronoforms_data_addmailinglistmessage WHERE cf_id = '$formid'") or die(mysql_error()); 
           $templateData = mysql_fetch_object($templatequery); 

           $gasoiluserTemplate = $templateData->gasoilusers; 
           $dervuserTemplate = $templateData->dervusers; 
           $kerouserTemplate = $templateData->kerousers; 
           $templateMessage = $templateData->mailinglistgroupmessage; 
           $templatename = $templateData->mailinglistgroupname; 


       require_once('./send/class.phpmailer.php'); 

       $mailer= new PHPMailer(true); //defaults to using php "mail()"; the true param means it will throw exceptions on errors, which we need to catch 

       // Grab the FreakMailer class 
       require_once('./send/MailClass.inc'); 

       // Grab our config settings 
       require_once('./send/config.php'); 

       // Setup body 
       $htmlBody = '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
           <html xmlns="http://www.w3.org/1999/xhtml"> 
           <head> 
           <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
           <style>#title {text-align:center;font-family:"Times New Roman", Times, serif; font-size:130% !important; font-weight:bold; color:#fff;} .address {color:#fff; font-size:60%; font-family:Verdana, Geneva, sans-serif;}</style> 
           </head> 

           <body> 
           <div style="background: 
                   none repeat scroll 0% 0% rgb(6, 38, 
                   97); width:650px; height:auto;"> 
           <img id="_x0000_i1030" style="padding-left:5%;padding-right:5%" 
                    src="http://www.chandlersoil.com/images/newsletter/header.gif" 
                    alt="Chandlers Oil and Gas" 
                    border="0" height="112" 
                    width="580"> 
                    <div id="title">' . $templateMessage . '</div> 
                    <div style="background:#344ea2; width:501px; height:65px; margin-left:70px;"></div> 

                    <div style="background:#13155C; height:30px; width:501px; margin-left:70px;"></div> 

                    <div style="background:#fff; width:501px; height:365px; margin-left:70px;"></div> 

<div style="background: 
                   none repeat scroll 0% 0% rgb(6, 38, 
                   97); height:60px; width:501px; margin-left:70px;"></div>  

                   <div style="background:#000139;height:100px; width:580px; margin-left:35px;" > 
                    <table cellspacing="0" cellpadding="0" class="address" style="margin-left:5px;"> 
                    <tr> 
                     <td valign="top" width="21%"><p><strong>Chandlers             Depots</strong></p> 
                     <table class="address" border="0" cellpadding="0" cellspacing="0" width="87%"> 
                      <tbody> 
                      <tr> 
                       <td width="57%"><p>Grantham</p></td> 
                       <td width="43%"><p>Spalding</p></td> 
                      </tr> 
                      <tr> 
                       <td><p>Lincoln</p></td> 
                       <td><p>Corby</p></td> 
                      </tr> 
                      <tr> 
                       <td><p> Spilsby</p></td> 
                       <td><p>Retford</p></td> 
                      </tr> 
                      </tbody> 
                     </table></td> 
                     <td valign="top" width="79%"><p><strong>Address<br /> 
                     <br /> 
                     </strong>Chandlers             Oil &amp; Gas, Warren             Way, Alma Park,             Grantham, Lincolnshire,             NG31 9SE<br /> 
                     <br /> 
                     <strong>TEL: </strong>08456             202010 <strong>FAX:</strong> 01476             568147 <strong>E-Mail: </strong><a href="mailto:[email protected]">[email protected]</a></p> 
                     <table border="0" cellpadding="0" cellspacing="0" width="100%"> 
                      <tbody> 
                      <tr> 
                       <td><p align="right"> </p></td> 
                      </tr> 
                      </tbody> 
                     </table></td> 
                    </tr> 
                    </table> 
                   </div>                
           </div> 
           </body> 
           </html> 
           '; 
     $textBody = "$templateData->mailinglistgroupmessage"; 


       // instantiate the class 
       $mailer = new FreakMailer(); 

       // Get the user's Email 
       $sql = mysql_query("SELECT leadname,businessname,email,mailtype FROM hqfjt_chronoforms_data_addupdatelead WHERE keromailinglist='$kerouserTemplate' AND dervmailinglist='$dervuserTemplate' AND gasoilmailinglist='$gasoiluserTemplate'"); 

       while($row = mysql_fetch_object($sql)) 
       { 
        // Send the emails in this loop. 
        $name = $row->leadname; 
        $businessname = $row->businessname; 
        $to_email = $row->email; 
        $mailtype = $row->mailtype; 

        if(!empty($row->businessname)) 
        { 
         $name .= ' '.$row->leadname; 
        } 

        $to_name = $name; 

        if($row->mailtype == 'html') 
        { 
        $mailer->Body = str_replace(array('{name}', '{fuel}'), array($name, $templatename), $htmlBody); 
         $mailer->isHTML(true); 
         $mailer->AltBody = str_replace(array('{name}', '{fuel}'), array($name, $templatename), $textBody); 
         $mailer->AddAddress($to_email, $name); 
         $mailer->Subject = "Your Fuel Prices From Chandlers Oil & Gas"; 
         $mailer->FromName = "Chandlers Oil & Gas"; 
        } 
        else 
        { 
         $mailer->Body = str_replace(array('{name}', '{fuel}'), array($name, $templatename), $textBody); 
         $mailer->isHTML(false); 
         $mailer->Subject = "Your Fuel Prices From Chandlers Oil & Gas"; 
         $mailer->FromName = "Chandlers Oil & Gas"; 
          $mailer->AddAddress($to_email, $name);         
        } 

        $mailer->Send(); 
        $mailer->ClearAddresses(); 
        $mailer->ClearAttachments(); 
        $mailer->IsHTML(false); 
        echo "Mail sent to: $name - $to_email<br />"; 
       } 

       ?> 

答えて

2

は、私は私がこのここを参照してくださいと思いますか?

    if(!empty($row->businessname)) 
        { 
         $name .= ' '.$row->businessname; 
        } 

:)

非常に簡単に、これは、所望の条件に基づいて、望ましくない変数を連結しています。

+0

何行うことになっていることは事業名欄が空白の場合、それは理想的には以下のようにshomethingしなければならない、代わりにファーストネームのフィールドを使用する必要がありますです......... businessname == '' '$ name = $ salutation&$ leadname else $ name = $ businessname しかし、私は挨拶とそこに鉛の名前をどのように記述するのか分かりません。フィールドが空白MR JONESを使用していない場合は空白です。JONES CORP。 –

+0

オブジェクトをフェッチすると$ nameフィールドが設定され、$ row-> leadnameが既に埋め込まれています。ここでは、 "businessnameが空でない場合は、そこに別の$ row-> leadnameを入れてください。 。=あなたのもはや交換、あなたのammendingので、私の答えyoudの交換コードで、 "MRジョーンズジョーンズ"のようなものを取得します。だからあなたの言うことは、ビジネス名が空ではない場合は、リード名の代わりにビジネス名を使用するのですか?または私は間違っていますか? – RedactedProfile

+0

ああ、私はそれがブランクではない場合は、代わりに挨拶、鉛名を使用する代わりに、ビジネス名は、代わりに使用する必要があります、鉛名が空白の場合は、まず、 –

1

変更:

   if(!empty($row->businessname)) 
       { 
        $name .= ' '.$row->leadname; 
       } 

へ:

   if(!empty($row->businessname)) 
       { 
        $name .= ' '.$row->businessname; 
       } 
+0

これは、ビジネス名フィールドが空白の場合は、代わりにfirstnameフィールドを使用する必要があります似たようなもの.......もしbusinessname == '' '$ name = $ salutation&$ leadname else $ name = $ businessname しかし、私は挨拶とリードネームをコード化する方法がわからないので、例えば会社のフィールドが空白の場合はMR JONES、それが空でない場合は、JONES CORP。 –

+0

を使用してください。 '$ name。=' 'の代わりに' $ name = '... – Wrikken

+0

があなたの助けを借りてくれました:-) –

関連する問題