2013-02-19 256 views
0

我在腳本中遇到了一個非常奇怪的錯誤,我找不到錯誤。新的PHPMailer()破壞會話

我想在外部服務器上通過SMTP發送電子郵件,例如發送到gmail-Server。 發送電子郵件後,腳本應該使用其他參數重定向到自己。 會話ID也存儲爲$ _GET參數。我的代碼如下:

$mail = new PHPMailer(); 
    $mail->IsSMTP(); 
    $mail->SMTPAuth = false; 
    $webmaster_email = "[email protected]"; 
    $email="[email protected]"; 
    $name="Simon"; 
    $mail->From = $webmaster_email; 
    $mail->FromName = "Simon"; 
    $mail->AddAddress($empfaenger, $row['name'] . " " .$row['name']); 
    $mail->AddReplyTo($webmaster_email,"Webmaster"); 
    $mail->WordWrap = 50; 
    $mail->AddAttachment($filename); 
    $mail->IsHTML(false); 
    $mail->Subject = $betreff; 
    $mail->Body = $nachricht; 
    $mail->AltBody = $nachricht; 
    if(!$mail->Send()) 
    { 
     echo "Mailer Error: " . $mail->ErrorInfo; 
    } 
header('Location: http://somedomain.com/somedirectory?sid='.$_GET['sid'].'&step=step2&message=a1'); 

現在的問題是,我的會話總是丟失/銷燬,我真的不知道究竟是什麼。 好奇的是:重定向工程,當我評論 新的PHPMailer(); 換行。

我現在正在尋找問題幾個小時......我希望有人能夠幫助我。

問候, 西蒙

+1

你用'$ _GET ['sid']手動維護會話嗎? – 2013-02-19 14:20:01

+2

請記住,'http:// somedomain.com'不是'http:// www.somedomain.com',會話不會傳遞。也許這是你的問題? – 2013-02-19 14:20:07

+0

是的,我必須,我沒有自己實現這個系統,但它保持這樣的會話。 和Pekka,不,它的定義不是重定向。它運行良好,不會產生PHPMailer-Object ... – Hayo 2013-02-19 14:34:17

回答

0

我知道了,用刪除線

$email="[email protected]"; 

沒有問題了。 不知道爲什麼,但謝謝你的幫助!

+2

這真的沒有意義......問題必須在其他地方。 – acme 2013-02-19 14:51:29

+0

是的,但在整個腳本中我還沒有其他變量$ email或其他東西。我以爲我覆蓋了一個變量或類似的東西。 – Hayo 2013-02-19 15:03:47

+0

+1因爲這沒有意義。 – SDC 2013-02-19 15:58:08