A-AA+then

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

1,733
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 นะ

8 ความคิดเห็น

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
^