2016-11-24 105 views
1

我完全失去了为什么我在这个代码收到此错误:意外T_ENCAPSED_AND_WHITESPACE,期待T_STRING或T_VARIABLE或T_NUM_STRING错误邮件

$finalmessage = " 
From:$_POST['name'] 
Email:$_POST['email'] 
Message:$_POST['message'] 
"; 

这里是低于整个邮件的PHP代码:

<?php 

$name = $_POST['name']; 
$surname = $_POST['surname']; 
$email = $_POST['email']; 
$message = $_POST['message']; 
$support_address = "[email protected]"; 
$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); 
} 
?> 
+0

[参考 - 这是什么错误在PHP中呢?]的可能的复制(http://stackoverflow.com/questions/12769982/reference-what-do-this-error-mean-in-php) – ChristianF

+0

当尝试在双引号字符串内引用具有带引号的键进行插值的数组值时,通常遇到此错误,此时整个复杂变量构造不包含在{}中。 http://stackoverflow.com/questions/12769982/reference-what-does-this-error-mean-in-php/13935532#13935532 – phobia82

回答

0

我看到你写错了你的参数。您写道:

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邮件SYNTAX是:

mail (string $to , string $subject , string $message [, string $additional_headers [, string $additional_parameters ]]) 

最终代码:

<?php 
$name = $_POST['name']; 
$surname = $_POST['surname']; 
$email = $_POST['email']; 
$support_address = "[email protected]"; 

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: [email protected]' . "\r\n"; 
    $headers .= 'Bcc: [email protected]' . "\r\n"; 


    if(mail($to, $subject, $Message, $headers)) { 
     echo "Your message has been Sent"; 
    } else { 
     echo "Mesage Error"; 
    } 
} 
?> 

注意:使用任何邮件库,用于防止脆弱的头注入像PHPMailer

+0

我编辑了我的答案。 –

相关问题