我在为我的网站设置邮件表单时遇到了一些麻烦。目前,当我在表单上按提交时,发送给我的电子邮件只显示它的文本部分,并且它不显示变量! 因此,在我的电子邮件中,它只会显示“此消息来自”
我对PHP很新 - 希望有人可以看看,也许指出我没有得到的东西?
谢谢!
<?
if(isset($_POST['message']) && ($_POST['message'] != '')){
$name = $_POST["name"];
$subject = "New Request";
$recipient = "my@email.com";
$message = $_POST["message"];
$mailBody = 'This message is from $name \n $message;
mail($recipient, $subject, $mailBody);
}
?>
答案 0 :(得分:4)
首先 concat 您传入的string.as的可变名称 单引号让php认为它是一个字符串。
尝试以下代码:
<?
if(isset($_POST['message']) && ($_POST['message'] != '')){
$name = $_POST["name"];
$subject = "New Request";
$recipient = "my@email.com";
$message = $_POST["message"];
$mailBody = 'This message is from '.$name."\r\n". $message;
mail($recipient, $subject, $mailBody);
}
?>
另外要了解单引号和双引号的区别,您可以参考以下链接:
What is the difference between single-quoted and double-quoted strings in PHP?
答案 1 :(得分:1)
你应该使用double quoted string 另请查看this
<?
if(isset($_POST['message']) && ($_POST['message'] != '')){
$name = $_POST["name"];
$subject = "New Request";
$recipient = "my@email.com";
$message = $_POST["message"];
$mailBody = 'This message is from '.$name."\r\n". $message;
mail($recipient, $subject, $mailBody);
}
?>
答案 2 :(得分:0)
$mailBody = 'This message is from '.$name.' \r\n'. $message;
OR
$mailBody = "This message is from $name\r\n$message";
您编写变量的第一行是在单引号内,它将您的变量作为文本,其中没有引号或双引号内部可以将这些作为变量。
请完成:What is the difference between single-quoted and double-quoted strings in PHP?