Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP邮件中未回显PHP变量_Php_Email_Variables_Sendmail - Fatal编程技术网

PHP邮件中未回显PHP变量

PHP邮件中未回显PHP变量,php,email,variables,sendmail,Php,Email,Variables,Sendmail,我正在尝试向此电子邮件脚本添加几个变量。电子邮件本身每次都会发送,每次都会收到。但是,电子邮件包含变量本身,而不是信息。 如何让变量打印它们所表示的数据?我知道变量存在 <?//Send Welcome Email $to = '//Email Removed for security'; $subject = 'Application Received'; $msg = '

我正在尝试向此电子邮件脚本添加几个变量。电子邮件本身每次都会发送,每次都会收到。但是,电子邮件包含变量本身,而不是信息。 如何让变量打印它们所表示的数据?我知道变量存在

      <?//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);
            ?>

我看到一个变量无法正确显示。这可能适用于打印错误的每个变量

查看电子邮件正文字符串。您使用单引号生成字符串,$siteURL变量就在其中的某个地方。除非用双引号声明字符串,否则直接包含在字符串中的变量将不会解析

以下是解决问题的两种方法:

$msg='站点URL为'$网站网址。您可以看到我中断了单引号以添加该站点uri。“; $msg=站点URL为$siteURL。将变量放在花括号中也有效:{$siteURL}!;
正如您所看到的,变量在这两种情况下都会被解析,但不是在字符串中的单引号中。如果要使用单引号,则必须在字符串中插入句点。将它们连接在一起:

当您在字符串中使用单引号时,php不会读取变量值,它只是假设它是文本,如果您将字符串放在双引号中,变量将被解释为变量

更清楚地说

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

this is some text output
this is $my_var output
但是

将输出

this is some text output
this is $my_var output
如果出于任何原因想使用单引号,必须链接如下字符串

$my_var = "some text";
$my_body = 'this is '.$my_var.' output';
echo $my_body;
在这种情况下,您的输出将再次

this is some text output
更具体地说,您的$msg应该如下所示

$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 />
        ';

您的问题是因为您需要使用两种不同类型的引号,以便正确呈现HTML和变量

你需要把报价嵌套起来

请尝试以下操作:

$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插入其中


无论在哪里看到双引号,它们都会被忽略,并被视为字符串的一部分。

它的可能重复项并不能解释如何将引号->置于引号内。我尝试了正常的“$variable.”和“$variable”。然后我建议你开始学习如何使用PHP。打印字符串是任何语言所能达到的最基本的功能。我知道如何使用字符串。或者,我已经用尽了这个等式中的所有变化。而且变量不会打印出来。我希望专业人士能解释这就是你做错的地方。而不是光顾我。我一定是找错地方了。