变量赢得';在PHP中不能从表单传递到电子邮件

变量赢得';在PHP中不能从表单传递到电子邮件,php,mysql,variables,Php,Mysql,Variables,我正在尝试创建三个表单,每个表单都使用php发送电子邮件。在第二和第三种形式中,变量不会输出分配给它的值。我在第二和第三种形式中使用了$u POST函数和$u请求。在第一种形式中,发送了电子邮件,所有变量都能够正常显示。信息正在数据库中正常存储。唯一的问题是,从第二个和第三个发件人发送的电子邮件中看不到该变量,我不知道如何使其工作。这是一个发生了什么的粗略例子 $x = new mysql($connection_information); $x->update(array('emai

我正在尝试创建三个表单,每个表单都使用php发送电子邮件。在第二和第三种形式中,变量不会输出分配给它的值。我在第二和第三种形式中使用了$u POST函数和$u请求。在第一种形式中,发送了电子邮件,所有变量都能够正常显示。信息正在数据库中正常存储。唯一的问题是,从第二个和第三个发件人发送的电子邮件中看不到该变量,我不知道如何使其工作。这是一个发生了什么的粗略例子

 $x = new mysql($connection_information);
 $x->update(array('email' => $_POST['email'], 'xemail' => $_POST['xemail'], 'parking' = $_POST['parking'] etc) 

 $email = $_POST['email']; 
 $xemail = $_POST['xemail'];

 $subject = "Form Request " . $email;
 $headers = 'From: ' . $xemail . "\r\n" .

 $message = "this email will. $_POST['parking']"

 mail($email, $subject, $message, $header);

还有很多,我只是尽我所能把它简单化。消息区域没有看到变量,有人知道是什么导致了这个问题吗?

在双引号文本字符串中引用数组键时,我发现最好使用花括号语法,如:

$message = "this email will. {$_POST['parking']}";

尝试访问对象属性也可以这样说。

您可以尝试这样做。阅读文本有点困难,但更容易看到变量的位置:

$message = "this email will. ".$_POST['parking'];
此外,上面的这一行是开放式的,将导致PHP解释器失败:

 $headers = 'From: ' . $xemail . "\r\n" .
总的来说,我认为您需要这样的代码:

$x = new mysql($connection_information);
$x->update(array('email' => $_POST['email'], 'xemail' => $_POST['xemail'], 'parking' => $_POST['parking']);

$email = $_POST['email']; 
$xemail = $_POST['xemail'];

$subject = "Form Request ".$email;
$headers = "From: ".$xemail."\r\n";

$message = "this email will. ".$_POST['parking'];

mail($email, $subject, $message, $header);

你的表格看起来怎么样?你有什么东西在里面吗?“这封邮件会的。$\u POST['parking']”这不管用。你缺少了一些分号,你必须在双引号里用$\u POST[parking]而不是$\u POST['parking'])。“这封邮件会{$\u POST['parking']}”我这样做了,但结果是一样的。:/问题是变量在提交时没有以第二和第三种形式传递给电子邮件。您能在问题文本中为我们发布这些形式吗?