2017-11-08 4 views
0

私はPHP言語を学んでいます。私の.langsファイルと私のPHPメール部分に問題があります。メールメッセージに応じ私のPHPメールでキャリッジリターンの問題

部分は次のようになります。

$message = $outputlangs->transnoentities("ExpenseReportWaitingForApprovalMessage", $expediteur->getFullName($langs), get_date_range($object->date_debut,$object->date_fin,'',$langs), $link); 

そして私は私の.langsファイルにしている:

ExpenseReportWaitingForApprovalMessage =宇根ヌーベルデフレエスト エンattente D'賛同の点に注意してください。 ERPを参照してください。\ n- 利用者:%s \ n-パスワード:%s \ n詳細を表示する: 削除:%s。

私は私の電子メールを送って、私はこの取得:

enter image description here

をマイキャリッジリターンは動作しませんし、私はこの問題を解決する方法を見つけることができません。

私が試した:

$message = $outputlangs->trans 

しかし、どれも効果が。

ご存知ですか?

はありがとう

EDIT:

私は.langsファイルからテキストを削除しようとした私は、この書いた:

$corps = "Une nouvelle note de frais est en attente d'approbation sur notre ERP.\r\n- Utilisateur : %s\r\n- Période : %s\r\nCliquez ici pour afficher la note de frais: %s."; 
$message = ($corps, $expediteur->getFullName($langs), get_date_range($object->date_debut,$object->date_fin,'',$langs), $link); 

しかし、私は空白のページ

+1

二重引用符ではなく、一重引用符で '\ n"を設定します。あなたのコードが実際に何をしていると言うのは難しいですが、それは私の前提です。つまり、プレーンテキストではなくhtmlとして送信しようとしています。 –

+0

@ Fred-ii-あなたの答えをありがとう。私は '\ n'、' '\ n''と '' \ n "'を試しましたが、私の問題はまだそこにあります。ハム私は本当にPHPメールで電子メールを送信する正確なプロセスがわからない – Deadpool

+0

これを試してみてください - "\ r \ n" – AGrammerPro

答えて

2

を取得していますが私はその問題を見ていると信じています。たぶん(?)私は、トランスノンティリティが何であれ、それを認識しません。あなたはそれを含めなかった。

しかし、もし$ messageに詰め込まれているlangsファイルの中にちょうど\nという文字列があるとすれば、その文字列をメール本体の額面にそのまま転送しようとしています。

実際にあなたのlangsファイルには本当の改行が必要です。それらの文字列リテラルではありません。

はやってみます

$message = str_replace('\n',"\n",$message); 

は、メールに送信する前にこれを行います。 (そして、はい、str_replaceの最初の値は、リテラルを実際のものに置き換えるための一重引用符です)。このことについて、あなたの第二編集で

は:

$corps = "Une nouvelle note de frais est en attente d'approbation sur notre ERP.\r\n- Utilisateur : %s\r\n- Période : %s\r\nCliquez ici pour afficher la note de frais: %s."; 
$message = ($corps, $expediteur->getFullName($langs), get_date_range($object->date_debut,$object->date_fin,'',$langs), $link); 

私は、これは大きな構文エラーだと思います。あなたの任務を誤解していない限り。 PHPエラーを有効にしてスクリプトをデバッグしてください:

+0

あなたの答えをありがとう!あなたはあなたの 'str_replace'で私の問題を解決しました。今はうまくいくように思えます;)しかし、私は自分の編集でどのような構文エラーがあるのか​​分かりません(私は初心者です)。 – Deadpool

+0

ええ、 '$ message =($ var、$ var、$ var);'は正しい構文のようではなく、あなたが試していたことがわかりませんでした。しかし、PHPで完全な警告をオンにすると、解析エラーがスローされます。 – IncredibleHat