0

このスクリプトの目的は電子メールを送信することですが、Web サイトには PHP セッションからの詳細が既にあるため、名前と電子メールを含める代わりにメッセージに含めることになります。現在、「2Email」が機能しています。受信者のメールボックスにメッセージを送信でき、ユーザーの入力メッセージが含まれます。しかし、それはテンプレートに従っていません。IE 「ダッシュボード経由で送信」というテキストが含まれていません

<?php

session_start();
if(!isset($_SESSION["USER"])){
    header("Location: ../login.php?NotAuth");
}


 $to = $_POST['2Email'];
 $name = $_SESSION["USER"]["FullName"]; 
 $email = $_SESSION["USER"]["Email"];
 $subject = $_POST['regarding'];
 $message = $_POST['msg'];
 $Cc= $_SESSION["USER"]["Email"];
 $headers = "From: $email";
 $tracker = "This message was sent via the TrackerSystem dashboard";


$message = "Hi, "."\n".$message. "\n". "Regards, ".$name. "\n".$tracker. 
 $sent = mail($to, $subject, $message, $headers) ; 
 if($sent) {
     print "Sent successfully! XD "; 
    } else {
         print "The server made a booboo, the email didn't send :'( "; 
    } 


    ?>
4

1 に答える 1

1

19行目のタイプミス"\n".$tracker.ですか?trackerもしそうなら、それがあなたがメッセージに追加されるのを妨げています。

実際に何が起こっているか: 19 ~ 20 行目の式全体 (これ):

$message = "Hi, "."\n".$message. "\n". "Regards, ".$name. "\n".$tracker. 
   $sent = mail($to, $subject, $message, $headers) ; 

右から左に評価されています(うまくいくかどうかは疑問です)。したがって、(最初に) メールが送信され、結果が に割り当てられ$sent、(2 番目に) 連結された文字列全体が に割り当てられ$messageます。

それを修正するには、make "\n".$tracker. "\n".$tracker;.

于 2012-07-22T10:48:27.720 に答える