我正在尝试创建三个表单,每个表单使用php发送电子邮件。在第二和第三种形式中,变量不会输出分配给它的值。我在第二和第三种形式中使用了$ _POST函数和$ _REQUEST。在第一种形式中,电子邮件已发送,所有变量都能正常显示。信息通常存储在数据库中。唯一的问题是从第二个和第三个发送的电子邮件中看不到变量,我不知道如何使其工作。这是发生了什么的一个粗略的例子。
$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);
还有更多内容,我只是尽可能简单。它的消息区域没有看到变量,有谁知道是什么导致了这个问题?
答案 0 :(得分:1)
在双引号文本字符串中引用数组键时,我发现最好使用大括号语法,如:
$message = "this email will. {$_POST['parking']}";
同样可以说尝试访问对象属性。
答案 1 :(得分:1)
你可以试试这个。阅读文本有点困难,但更容易看到变量的位置:
$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);