2016-05-30 29 views
-1

この電子メールスクリプトにいくつかの変数を追加しようとしています。電子メール自体は毎回送信され、受信されます。ただし、電子メールには変数自体が含まれていて、情報は含まれていません。 変数が表すデータを印刷するにはどうすればよいですか? (私は変数が存在することを知っています)PHP変数がPHPメールにエコーされない

 <?//Send Welcome Email 
      $to = '//Email Removed for security'; 
      $subject = 'Application Received'; 
      $msg = ' 
        We have received your application. You can login at 
        anytime by visiting:<br /> 
      <a href=\"$siteURL/return-Login.php" title="$siteName - Return Login\">$siteURL/return-Login.php</a><br /><br /> 
        '; 
      sendEmail($to,$subject,$msg,$siteName,$siteEmail,$siteURL,$account,$ip); 
      ?> 
+4

の可能性のある重複した[PHPで引用されたシングルと二重引用符で囲まれた文字列の違いは何ですか?](http://stackoverflow.com/questions/3446216/what-is-the-difference-between-single-quoted -and-double-quoted-strings-in-php) – miken32

+0

引用符を引用符で囲む方法については説明していません。 –

+0

私は通常の "$ variable"と "$ variable"を試しました。 " –

答えて

0

正しく表示されない変数が1つあります。おそらくこれは、間違って印刷されている各変数に適用されます。

メール本文の文字列をご覧ください。文字列を作成するには一重引用符を使用し、$ siteURL変数はどこかにあります。文字列に直接含まれる変数は、文字列が二重引用符で宣言されていない限り、解析されません。あなたがいない単一引用符で内部変数は、これらの状況のいずれかに解析されます見ることができますが、通り

  1. $msg = 'The site URL is' . $siteURL . '. You can see I interrupted the single quotes to add that site uri.';
  2. $msg = "The site URL is $siteURL. Putting the variable in curly brackets also works: {$siteURL}!";

:ここ

はあなたの問題を解決するには、2つの方法があります文字列一重引用符を使用する場合は、文字列をピリオド(。)で区切って連結する必要があります。 :)

2

文字列にシングルクォートを使用すると、PHPは変数値を読み取ることができません。文字列を二重引用符で囲むと、変数は変数として解釈されます。

することで、より明確

$my_var = "some text"; 
$my_body = "this is $my_var output"; 
echo $my_body; 

意志出力

this is some text output 

しかし

$my_var = "some text"; 
$my_body = 'this is $my_var output'; 
echo $my_body; 

意志出力

this is $my_var output 

あなたは、この場合には、あなたの出力は、より具体的には、再び

this is some text output 

になりますが、この

$my_var = "some text"; 
$my_body = 'this is '.$my_var.' output'; 
echo $my_body; 

のような文字列をリンクする必要があります何らかの理由で単一引用符を使用する場合は、あなたの$ MSGがすべき外観は

+0

'。$ var。'のように囲む働いた!ありがとうございました。 –

+0

明確かつ完全な解決策のために上書きされます。 – cyberbit

0

あなたのHTMLと変数を正しくレンダリングするには、2種類の引用符を使用する必要があるため、問題があります。

引用をネストする必要があります。

は、以下のことを試してみてください。

$msg = 'We have received your application. You can login at anytime by visiting:<br /><a href="'.$siteURL.'/return-Login.php" title="'.$siteName.' - Return Login">'.$siteURL.'/return-Login.php</a><br /><br /> 

最初の単一引用符は文字列の先頭を示します。あなたが一重引用符を参照する場合は、文字列を開始して停止し、PHPを挿入します。

Anywhereは、あなたは、これらは無視され、文字列の一部とみなされ、二重引用符を参照してください。

関連する問題