Php 意外的T_封装的_和_空格,应为T_字符串或T_变量或T_NUM_字符串错误邮件
我完全不明白为什么我会在这个代码中出现这个错误:Php 意外的T_封装的_和_空格,应为T_字符串或T_变量或T_NUM_字符串错误邮件,php,html,ajax,Php,Html,Ajax,我完全不明白为什么我会在这个代码中出现这个错误: $finalmessage = " From:$_POST['name'] Email:$_POST['email'] Message:$_POST['message'] "; 下面是完整的mail php代码: <?php $name = $_POST['name']; $surname = $_POST['surname']; $email = $_POST['email']; $message = $_POST['message'
$finalmessage = "
From:$_POST['name']
Email:$_POST['email']
Message:$_POST['message']
";
下面是完整的mail php代码:
<?php
$name = $_POST['name'];
$surname = $_POST['surname'];
$email = $_POST['email'];
$message = $_POST['message'];
$support_address = "info@bkslegal";
$headers = "From: ".$email;
$header2 = "From: ".$support_address;
$finalmessage = "
From:$_POST['name']
Email:$_POST['email']
Message:$_POST['message']
";
if ( $name == "")
{
}
else
{
mail("$support_address","finalmessage",$headers);
$result = "Your message has been sent succesfully!"
mail("$email","Thank you for contacting us!","We will soon be in contact with you!",$header2);
}
?>
我发现您的参数写错了。你写道:
mail("$support_address","finalmessage",$headers);
应该是:
mail ($support_address, $subject, $message, $headers);
然后拆下这条线
//mail("$email","Thank you for contacting us!","We will soon be in contact with you!",$header2);
PHP邮件是:
最终代码:
<?php
$name = $_POST['name'];
$surname = $_POST['surname'];
$email = $_POST['email'];
$support_address = "info@bkslegal";
if($name == "") {
//show somting error message
}
else
{
$Message = "From:".$name."<br />";
$Message .= "Email:".$email."<br />";
$Message .= "Message:". $_POST['message'];
$to = $support_address;
$subject = "new message";
// To send HTML mail, the Content-type header must be set
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
// Additional headers
$headers .= 'To: Name <$to>' . "\r\n";
$headers .= 'From: $name <$email>' . "\r\n";
$headers .= 'Cc: birthdayarchive@example.com' . "\r\n";
$headers .= 'Bcc: birthdaycheck@example.com' . "\r\n";
if(mail($to, $subject, $Message, $headers)) {
echo "Your message has been Sent";
} else {
echo "Mesage Error";
}
}
?>
注意:使用任何邮件库来防止易受头插入攻击,如我发现您的参数写错了。你写道:
mail("$support_address","finalmessage",$headers);
应该是:
mail ($support_address, $subject, $message, $headers);
然后拆下这条线
//mail("$email","Thank you for contacting us!","We will soon be in contact with you!",$header2);
PHP邮件是:
最终代码:
<?php
$name = $_POST['name'];
$surname = $_POST['surname'];
$email = $_POST['email'];
$support_address = "info@bkslegal";
if($name == "") {
//show somting error message
}
else
{
$Message = "From:".$name."<br />";
$Message .= "Email:".$email."<br />";
$Message .= "Message:". $_POST['message'];
$to = $support_address;
$subject = "new message";
// To send HTML mail, the Content-type header must be set
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
// Additional headers
$headers .= 'To: Name <$to>' . "\r\n";
$headers .= 'From: $name <$email>' . "\r\n";
$headers .= 'Cc: birthdayarchive@example.com' . "\r\n";
$headers .= 'Bcc: birthdaycheck@example.com' . "\r\n";
if(mail($to, $subject, $Message, $headers)) {
echo "Your message has been Sent";
} else {
echo "Mesage Error";
}
}
?>
注意:使用任何邮件库以防止易受标头注入的攻击,例如当尝试使用带引号的键引用数组值以在双引号字符串内进行插值时,如果整个复杂变量构造未包含在{}中,则最常遇到此错误的可能重复。当试图使用带引号的键引用数组值以在双引号字符串内进行插值时,如果整个复杂变量构造未包含在{}中,则最常遇到此错误的可能重复。