从 PHP 表单收到的电子邮件内容显示为“0”
Email received from PHP form shows "0" for the content
嘿,这是我的第一个 PHP 联系表。一切正常,我收到了电子邮件,但是电子邮件的内容显示为“0”。
我的PHP代码是:
$content = $_POST['name'] + $_POST['message'];
name为表单元素的名称(人名),message为消息元素的名称。当我执行 print_r.
时,两者都显示在 PHP 数组中
问题出在邮件内容上!我遵循了关于如何执行此操作的 Udemy 教程,并仔细检查了所有内容。谁能帮帮我??
谢谢!!!!
在 PHP 中您需要使用“.”为了合并字符串。
"+" 用于 JS
正如其他人所指出的,"plus sign" 不会连接字符串;使用 "dot" 代替。
$content = $_POST['name'] . $_POST['message'];
此外,"plus sign" 导致 PHP 解释器执行 type coercion,这就是您的电子邮件字面意思是 "zero" 的原因。您已经成功地将两个 POST 变量变成了一个数字(尽管您肯定不是第一个这样做的人!)
从您提交的代码来看,您似乎是在尝试获取表单提交者的姓名和他们的消息,并将其组合成一个字符串,该字符串将放置在您的电子邮件正文中。
突出的主要问题是您尝试连接(组合)字符串的方式。在 PHP 中,the concatination operation 是句点(“.”)。使用您当前的代码,它会尝试添加两个字符串,例如数字,这就是您在电子邮件正文中遇到 0 的原因。
让我们采用您当前的代码,并应用该修复:
$content = $_POST['name'] . $_POST['message'];
其次,让我们看一下 $content 变量的实际输出。如果我提交名称 "Jon" 并且我的消息是 "Hello, friends!" 以及您现在的代码,我们最终会得到:
JonHello,Friends!
为了解决这个问题,让我们添加一个冒号和一个 space 来表示用户说的是这条消息:
$content = $_POST['name'] . ': ' . $_POST['message'];
现在,我们应该输出 $content 变量,我们会看到:
Jon: Hello, Friends!
请记住,我们添加的冒号和 space 可以替换任何其他字符串。
例如,我们可以稍微修改我们的连接,为我们的文本添加一点风味,并让用户 "say" her/his name:
$content = $_POST['name'] . 'says: "' . $_POST['message'] .'"';
此代码在输出时会产生:
Jon says: "Hello, friends!"
Grand,希望对您有所帮助。如果您还有其他问题,请告诉我。
嘿,这是我的第一个 PHP 联系表。一切正常,我收到了电子邮件,但是电子邮件的内容显示为“0”。
我的PHP代码是:
$content = $_POST['name'] + $_POST['message'];
name为表单元素的名称(人名),message为消息元素的名称。当我执行 print_r.
时,两者都显示在 PHP 数组中问题出在邮件内容上!我遵循了关于如何执行此操作的 Udemy 教程,并仔细检查了所有内容。谁能帮帮我??
谢谢!!!!
在 PHP 中您需要使用“.”为了合并字符串。 "+" 用于 JS
正如其他人所指出的,"plus sign" 不会连接字符串;使用 "dot" 代替。
$content = $_POST['name'] . $_POST['message'];
此外,"plus sign" 导致 PHP 解释器执行 type coercion,这就是您的电子邮件字面意思是 "zero" 的原因。您已经成功地将两个 POST 变量变成了一个数字(尽管您肯定不是第一个这样做的人!)
从您提交的代码来看,您似乎是在尝试获取表单提交者的姓名和他们的消息,并将其组合成一个字符串,该字符串将放置在您的电子邮件正文中。
突出的主要问题是您尝试连接(组合)字符串的方式。在 PHP 中,the concatination operation 是句点(“.”)。使用您当前的代码,它会尝试添加两个字符串,例如数字,这就是您在电子邮件正文中遇到 0 的原因。
让我们采用您当前的代码,并应用该修复:
$content = $_POST['name'] . $_POST['message'];
其次,让我们看一下 $content 变量的实际输出。如果我提交名称 "Jon" 并且我的消息是 "Hello, friends!" 以及您现在的代码,我们最终会得到:
JonHello,Friends!
为了解决这个问题,让我们添加一个冒号和一个 space 来表示用户说的是这条消息:
$content = $_POST['name'] . ': ' . $_POST['message'];
现在,我们应该输出 $content 变量,我们会看到:
Jon: Hello, Friends!
请记住,我们添加的冒号和 space 可以替换任何其他字符串。
例如,我们可以稍微修改我们的连接,为我们的文本添加一点风味,并让用户 "say" her/his name:
$content = $_POST['name'] . 'says: "' . $_POST['message'] .'"';
此代码在输出时会产生:
Jon says: "Hello, friends!"
Grand,希望对您有所帮助。如果您还有其他问题,请告诉我。