GORAGOD.com

freelance, web developer, web designer, hosting, domain name

phpmailer ช่วยหน่อยนะครับ

require_once("admin/phpmailer/class.phpmailer.php");
  $mail = new phpmailer();
  $mail->IsSMTP(); // telling the class to use SMTP
        try {
            $mail->Encoding = "quoted-printable";
            $mail->CharSet = "utf-8";
          
            $mail->AddReplyTo($cfg_var["confirm_email"], $cfg_var["confirm_name"]);
            $mail->AddAddress($cfg_var["regis_username"], $cfg_var["regis_username"]);
            $mail->SetFrom($cfg_var["confirm_email"], $cfg_var["confirm_name"]);
            $mail->Subject = $cfg_var["confirm_name"];
            $mail->MsgHTML($cfg_var["Massage"]);
           if($mail->Send())
   {
    echo "<script language=\"javascript\" type=\"text/javascript\">window.location='member_approve.php';</script>"; 
   }else{
    echo "<script language=\"javascript\" type=\"text/javascript\">window.location='member_fail.php';</script>
"; 
   }


มัน error อ่า
Parse error: parse error in C:\WM\www\www.ladivasjewelry.com\register.php on line 286


แต่ถ้าผมอัพขึ้นเซฟเวอจริง มัน ไม่ error นะ

15 ส.ค. 2552 8 3,160

Parse error ก็แสดงว่าเขียนคำสั่งหรือข้อความผิดรูปแบบ ลองหาดูครับว่าผิดตรงไหน
#1



error ตรงบรรทัด
     try {

ผม copy มาจากบทความอาจารย์ ก็ยัง error ครับ
#2

บทความไหนล่ะ

ถ้ามีผิดก็ให้ลองสังเกตุและแก้ไขดู ไม่บอกบทความไหนผมก็ไปดูไม่ถูก ถ้าบทความผิด ผมจะได้แก้บทความผม
#3

บทความนี้ครับ

การส่งเมล์ด้วย PHPMailer

 

#4

บทความก็ถูกนะ

เธอต้องตรวจโค้ดเธอแล้ว ว่าผิดตรงไหน ผมไม่รู้บรรทัดที่ error ไม่รู้โค้ดทั้งหมดของหน้านั้น ไม่รู้ว่าเธอได้ copy โค้ดไปทุกบรรทัดหรือเปล่า เธอก็แก้ไขให้ถูกละกัน มันก็ผิด บรรทัด 286 นั่นแหละ

อ้อ ดูเหมือนเธอจะไม่ได้เขียนโค้ดตามตัวอย่างนะ ยังไงรบกวนช่วยแก้ไขให้เป็นตามตัวอย่างด้วย
#5

           $mail->Send();

             echo "Message Sent OK"; // ส่งเมล์เรียบร้อย
        }
        catch (phpmailerException $e) {
            echo $e->errorMessage(); // ข้อความ error จาก PHPMailer
        }
        catch (Exception $e) {
            echo $e->getMessage(); // ข้อความ error จากระบบ
        }

ความผิดพลาดของเธอมันอยู่อีตรงที่มันไม่เหมือนบทความนี่แหละ ยังไงก็แก้ไขให้เป็นไปตามบทความด้วยละกัน

ในบทความไม่เห็นมีตรงไหนบอกให้ใช้แบบนี้ เอามาจากไหน if($mail->Send())

ลองศึกษาเกี่ยวกับการใช้ try catch ดูว่ามีรูปแบบการใช้งานยังไง
#6

try {
            $mail->Encoding = "quoted-printable";
            $mail->CharSet = "utf-8";
          
            $mail->AddReplyTo($cfg_var["confirm_email"], $cfg_var["confirm_name"]);
            $mail->AddAddress($cfg_var["regis_username"], $cfg_var["regis_username"]);
            $mail->SetFrom($cfg_var["confirm_email"], $cfg_var["confirm_name"]);
            $mail->Subject = $cfg_var["confirm_name"];
            $mail->MsgHTML($cfg_var["Massage"]);
           if($mail->Send())
           {
                 echo "<script language=\"javascript\" type=\"text/javascript\">window.location='member_approve.php';</script>"; 
           }else{
                echo "<script language=\"javascript\" type=\"text/javascript\">window.location='member_fail.php';</script>"; 
            }
  }
   catch (phpmailerException$e) {
            echo "<script language=\"javascript\" type=\"text/javascript\">alert('MAIL_SEND_ERROR';</script>"; //Pretty error messages from PHPMailer
        }
        catch (Exception $e) {
            echo "<script language=\"javascript\" type=\"text/javascript\">alert('MAIL_SEND_ERROR';</script>
";//Boring error messages from anything else!
        }

โค้ดตรงส่งเมล์ของผมครับ

ผมคิดว่าน่าจะเป็นที่ ตัว webserver ของผม
ปกติผมใช้ WMServer
รันบน WMServer แล้วมันขึ้น error แต่พอผมอัพขึ้นเวปจริง มัน ไม่ขึ้น error
และตะกี้ผมลองโหลด appserv มาลง พอรันใหม่ดูก็ไม่ขึ้น error ละ

สรุปเป็นที่ WMServer หรอนี้ - - ใช้มาตั้งนาน

ขอบคุณครับอาจารย์
#7

หรือว่า รูปแบบ try catch  ของผมมันหรือครับชักไม่มันใจ

#8
ความคิดเห็น
ไฟล์อัปโหลด ชนิด jpg, jpeg ขนาดไฟล์ไม่เกิน 2M
^