嘿所以这是我的第一个PHP联系表单。一切正常,我收到了电子邮件,但电子邮件的内容显示为“0”。
我的PHP代码是:
$content = $_POST['name'] + $_POST['message'];
name是表单元素的名称(person的名字),message是message元素的名称。当我执行print_r时,两者都显示在PHP数组中。
这是问题的电子邮件内容!我按照Udemy教程了解如何执行此操作并仔细检查了所有内容。任何人都可以帮助我吗?
感谢!!!!
答案 0 :(得分:3)
在PHP中,您需要使用“。”为了合并字符串。 “+”代表JS
答案 1 :(得分:1)
正如其他人所说,“加号”不会连接字符串;改用“点”。
$content = $_POST['name'] . $_POST['message'];
此外,“加号”导致PHP解释器执行type coercion,这就是您的电子邮件字面上说“零”的原因。你已经设法将你的两个POST变量变成一个数字(虽然你肯定不是第一个这样做的人!)
答案 2 :(得分:0)
根据您提交的代码判断,您似乎正在尝试获取表单提交者的姓名及其消息,并将其合并为一个字符串,该字符串将放置在您的电子邮件正文中。< / p>
突出的主要问题是你如何尝试连接(组合)字符串。在PHP中,the concatination operation是句点(&#34;。&#34;)。使用您当前的代码时,它会尝试添加两个字符串,例如数字,这就是您在电子邮件正文中遇到 0 的原因。
让我们拿走您当前的代码,并应用该修复程序:
$content = $_POST['name'] . $_POST['message'];
其次,让我们看一下 $ content 变量的实际输出。我应该提交姓名&#34; Jon&#34;我的信息是&#34;你好,朋友!&#34;使用现在的代码,我们最终得到:
JonHello,Friends!
为了解决这个问题,让我们添加冒号和空格来表示用户正在说这条消息:
$content = $_POST['name'] . ': ' . $_POST['message'];
现在,如果我们输出 $ content 变量,我们会看到:
Jon: Hello, Friends!
请记住,我们添加冒号和空格可以替换任何其他字符串。
例如,我们可以稍微修改我们的连接,为我们的文本添加一些风味,并让用户&#34;说&#34;她/他的名字:
$content = $_POST['name'] . 'says: "' . $_POST['message'] .'"';
输出时,此代码将产生:
Jon says: "Hello, friends!"
我希望有帮助,格兰德。如果您有任何其他问题,请与我们联系。