Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/261.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
将变量传递到PHPMailer主体_Php - Fatal编程技术网

将变量传递到PHPMailer主体

将变量传递到PHPMailer主体,php,Php,我正在使用PHPMailer在注册后发送电子邮件,但我似乎无法在其中添加变量 $htmlBody = '<html><body><a href = "http://www.mywebsite.com/confirm_registration.php?passkey={$com_code}">Confirm</a></body></html>'; $htmlBody=''; 其中,$com_code是一个唯一的密钥,附加到

我正在使用PHPMailer在注册后发送电子邮件,但我似乎无法在其中添加变量

$htmlBody = '<html><body><a href = "http://www.mywebsite.com/confirm_registration.php?passkey={$com_code}">Confirm</a></body></html>';
$htmlBody='';

其中,$com_code是一个唯一的密钥,附加到用户在电子邮件中收到的链接上。问题是$com_代码显示为$com_代码,而不是实际字符串。任何想法都会有帮助。

对字符串使用双引号而不是单引号,并转义其中的双引号,如下所示:

$htmlBody = "<html><body><a href=\"http://www.mywebsite.com/confirm_registration.php?passkey={$com_code}\">Confirm</a></body></html>";
$htmlBody = '<html><body><a href="http://www.mywebsite.com/confirm_registration.php?passkey=' . $com_code . '">Confirm</a></body></html>';
$htmlBody=”“;
或者,使用串联运算符,如下所示:

$htmlBody = "<html><body><a href=\"http://www.mywebsite.com/confirm_registration.php?passkey={$com_code}\">Confirm</a></body></html>";
$htmlBody = '<html><body><a href="http://www.mywebsite.com/confirm_registration.php?passkey=' . $com_code . '">Confirm</a></body></html>';
$htmlBody='';

PHP只搜索用双引号括起来的字符串中的变量。

问题与PHP编译器无关。问题是您试图错误地在字符串中插入变量。 请记住,与双引号和heredoc语法不同,特殊字符的变量和转义序列出现在单引号字符串中时不会展开。 在您的情况下,您可以使用多种方法中的两种:

(一)

$htmlBody=”“;
(二)

$htmlBody='';

请注意如何使用引号

很高兴知道。这将使我今后省去很多头疼的事。