-1

我正在尝试在 php 中为电子邮件正文分配一个变量,但不工作。

$refer=$_POST['refer'];
send_mail(  'admin@auto-sal.es',
                    $_POST['email'],
                    'Invitation from ' .$name,
                    'Hi ".$refer."\n\n join me at auto-sal.es and get 1 month free membership');

在此处输入图像描述

我尝试使用双引号而不是单引号,但没有任何提示?

4

8 回答 8

4

尝试这个:

"Hi \"$refer\"\n\n join me at auto-sal.es and get 1 month free membership");

您将字符串括在单引号中。单引号与双引号的工作方式不同。如果您将"or 变量放在单引号内,它们将按字面意思解释,这就是发生在您身上的事情。

您还应该查看官方文档,其中指出:

与双引号和heredoc 语法不同,特殊字符的变量和转义序列在出现在单引号字符串中时不会被扩展。

于 2012-04-12T00:11:54.593 回答
3

需要是:

'Hi '.$refer.'\n\n
于 2012-04-12T00:12:29.377 回答
3

正确的字符串 concat 是:

"Hi ".$refer."\\n\\n join me at auto-sal.es and get 1 month free membership"
于 2012-04-12T00:13:53.997 回答
2

双引号实际上应该可以解决问题。像这样:

"Hi $refer,\n\n join me at auto-sal.es and get 1 month free membership");
于 2012-04-12T00:12:21.083 回答
2
'Hi '.$refer.'\n\n join me at auto-sal.es and get 1 month free membership')
于 2012-04-12T00:13:03.853 回答
2

您是否尝试在代码中执行此操作?

'.$refer.'
于 2012-04-12T00:14:09.593 回答
1
'Hi' . $refer . "\n\n" . ' join me at auto-sal.es and get 1 month free membership.'
于 2012-04-12T00:15:28.450 回答
1

具体来说,您的外部单引号意味着除了其他单引号之外的所有内容都将被解释为纯字符,因此您在 .$refer. 周围的双引号以及 .$refer。本身,按原样通过。上面的所有答案都以不同的方式解决了问题,但基本上它们都确保您的 $refer 变量被解释为要插入到字符串中的变量,而不是单词旁边的美元符号。任何答案都将非常适合您的目的。

于 2012-04-12T00:16:11.813 回答