2016-04-29 11 views
0

私はいくつか改行を入れて電子メールを送信しようとしていますが、毎回\r\nを追加するたびに、これがなぜこのようになっているのか誰にもわからないエラーが出てきます。電子メールに改行を追加する際の警告エラー?

ERROR

Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /home3/hutch/public_html/server1/ForgotPassword.php on line 24

Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /home3/hutch/public_html/server1/ForgotPassword.php on line 24

Parse error: syntax error, unexpected T_STRING in /home3/hutch/public_html/server1/ForgotPassword.php on line 24

PHP

<?php 
    if (isset($_GET['Username'])){ 
     $Username = $_GET['Username']; 

     if (is_dir("USERS/".$Username) === true) { 

      $myFile=fopen("USERS/".$Username."/Password.txt","r") or exit("Can't open file!"); 
      $Password = fgets($myFile); 
      fclose($myFile); 

      require("PHP/class.phpmailer.php"); 
      require("PHP/class.smtp.php"); 

      $mail = new PHPMailer(); 

      $mail->IsSMTP(); 
      $mail->Host  = "smtp.sulmaxmarketing.com"; 

      $mail->From  = "[email protected]"; 
      $mail->FromName = "Online Game"; 
      $mail->AddAddress("[email protected]"); 

      $mail->Subject = "Forgot Password"; 
      $mail->Body  = "You have requested your login details, if this is incorrect please reply to this email letting us know your account has been compromised.".\r\n."Username: ".$Username.\r\n."Password:".$Password; 

      if(!$mail->Send()) { 
       echo 'Failed to send password to email. Please contact support.'; 
      } 
      else { 
       echo 'An email has been sent to your email address associated with the account.'; 
      } 
     } 
     else { 
      echo 'Username not found!'; 
     } 
    } 
?> 
+0

あなたは引用符を忘れています。 $ var = $ username。 "\ n"。 "こんにちは"; –

答えて

0

あなたは\ rを\ n "は\ r \ nの" のような二重引用符でラップする必要があります。

メールコンテンツに追加する文字列の一部です。

一重引用符ではエスケープ文字を解析しないので、一重引用符ではなく二重引用符を使用することを強調しなければならず\改行ではなく単に\ r \ nを出力します。

0

改行文字PHP_EOLのシステムプロパティの使用はいかがですか。 PHP_EOL定数を使用します。この定数は、PHPスクリプトが実行されているオペレーティングシステムの正しい改行に自動的に設定されます。

この定数はPHP 5.0.2以降で宣言されています。

関連する問題