PHP变量未显示在来自表单

时间:2016-11-09 11:00:59

标签: php

我在为我的网站设置邮件表单时遇到了一些麻烦。目前,当我在表单上按提交时,发送给我的电子邮件只显示它的文本部分,并且它不显示变量! 因此,在我的电子邮件中,它只会显示“此消息来自”

我对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);
}
?>

3 个答案:

答案 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?